温馨提醒:本篇文章适合人群:刚学c又感觉那个地方不怎么懂的同学以及以及学了一些因为自身原因停学一段时间后又继续学c的学
好,正片开始!
数组
概念:数组中存放的是1个或者多个数据,但是数组元素个数不能为0。 数组中存放的多个数据,类型是相同的。
大白话:其实高中数学的集合没啥区别,差不多就是一个大箩筐,筐内有许多符合该类型的元素
常见的有一维数组和二位数组(别慌一会我带你搞定二维数组)
一维数组的定义:类型 数组名[ 元素个数 ] eg.int arr[10];
初始化:类型 数组名[ 元素个数 ] = { 0 }; eg.int arr[10] = {0};
为了大家能更好地了解一维数组的用处,我就写个代码,让大家了解一下
这里的例子主要是让大家了解一下数组是怎么使用的。
那么在例子中已经出现了scanf和数组,那么我就教给大家如何用数组进行多组输入。
在讲数组的多组输入前我先给大家讲两个知识点:
1.数组的下标是从0开始,而它末尾元素的下标是n-1。
2.数组的长度计算模板:非字符或字符串数组的长度 -> int sz = sizeof(arr)/sizof(arr[0]);
字符串或字符数组的长度 -> int sz = strlen(arr);
注意:计算 字符串或字符数组的长度 时需要添加头文件#include<string.h>哦
有了这两个前置知识,咱们就可以学习数组的输入了。
模板:for( int i = 0; i < sz(数组长度);i++)
{
scanf("占位符",&arr[ i ]);
}
一维数组的打印模板
for( int i = 0; i < sz(数组长度);i++)
{
printf("占位符",arr[i]);
}
这里其实我不太建议大家直接背模板,这样吧我在讲一下思路
数组的输入输出思路:利用for循环和数组的下标将元素一个一个进行输入或输出,如果不太理解这个思路的小伙伴可以先背模板,因为c语言学到后面,这个思路自然就理解了。
一维数组的基本知识点也就差不多讲完了。
那么我们开始讲二维数组
二维数组的定义
类型 数组名[ 行 ][ 列 ]
二维数组的初始化
类型 数组名[ 行 ][ 列 ] ={ 0 };
也许讲到这里,还是会有小伙伴不理解,没事,我们拿游戏来举例子
就拿这个游戏的左上角的坐标来解释,17就是二维数组的行,13就是二维数组的列,所以呢,你也可以把二维数组当成坐标去理解,我可以肯定这样理解没有任何问题的。
当然啦,这里有几个知识点,大家最好记一下。
1.二维数组的行可以省略,但列不能省略
2.二维数组的行和列的下标都是从0开始到n-1结束
3.二维数组是由多个一维数组组成
二维数组的输入和输出