一、数组的概念
数组是一段相同类型元素的集合。从中有两个限制条件
1、数组存放的是1个或者多个元素,且元素个数不能为0。
2、数组存放的多个元素的类型必须相同。
数组可以分为一维数组和多维数组,多维数组其中二维数组最常用。
二、一维数组的创建
1、数组创建
一维数组创建的基本语法如下:
type arr_name[常量值];
存放在数组中的值称为元素,数组的大小和数组的元素类型是在数组创建的时候来规定的。
type指定的是数组的元素类型,比如 int 代表元素都是整型,还可以是:char、short、int、float等,还可以是自己定义的类型。
arr_name指定的是数组的名字,没有什么特殊的要求,只要起的有意义就可以了。
[ ]中的常量值是⽤来指定数组的大小的,这个数组的大小是根据实际的需求指定就可以了。
我们来举个例子去创建一个数组,假如我们要储存一周内每一天的消费,数组如下:
int consumption[7];
2、数组初始化
有的时候,数组在创建的时候需要给定一些值,这就叫做初始化。
那么我们该如何给定他们值来初始化呢?代码如下 :
int arr1[5] = {1,2,3,4,5};
int arr2[5] = {1};
int arr3[5] = {1,2,3,4,5,6};
数组的初始化需要后面的大括号来定义 。
第一行代表的是完全初始化,给定了数组中全部的元素相应的值。
第二行则代表的是不完全初始化,数组中的值第一个为1,其他的默认为0。
第三行则是错误的初始化,初始化的项太多。
3、数组的类型
数组是有类型的,数组其实算是一种自定义类型,去除掉数组的名字就是他们的类型。
简单拿代码来举例吧
int arr1[5];
int arr2[20];
char ch[5];
其中arr1的数组类型就是 int [5]
arr2的数组类型就是int[20]
ch的数组类型就是char[5]
三、一维数组的使用
1、数组下标
C语言中规定在数组中每一个元素下面都会对应一个下标,下标从0开始,假设一个数组中有n个元素,那么对应的下标就是n-1,如下
int arr[10] = {1,2,3,4,5,6,7,8,9,10}
V V V V V V V V V V
V V V V V V V V V V
下标: 0 1 2 3 4 5 6 7 8 9
C语言中的[ ]其实叫做:下标引用操作符。
我们可以利用下标引用操作符来很轻松的访问到数组中相应的元素。假如我们想要在arr中访问下标为5的元素,我们就可以用arr[5],想要下标为8的元素就可以用arr[8]。
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
printf("%d",arr[5]);
printf("%d",arr[8]);
打印出来的就是 6 和 9。
2、数组元素的打印和输入
假如一个数组比较长,而我们又想要知道他的所有元素,用很多个printf函数显然是不合适的,那么我们该怎么办呢?
其实很简单,只要我们把每一个下标都产生出来就好了,我们可以使用前面讲的for循环产生出下标,然后再用下标进行访问就可以了,具体代码如下:
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
for(int i = 0;i<10;i++)
{
printf("%d ",arr[i]);
}
这样就可以把所有元素打印出来了。
那么如果我们想要自己给数组传入我们想要输入的数据,该怎么办呢?具体代码如下
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
for(int i = 0;i<10;i++)
{
scanf("&d",&arr[i]);
}
for(int a = 0;a<10;a++)
{
printf("%d ",arr[a]);
}
这样就实现了我们给这个数组十个数据并且把他们打印了出来。