数组,在任何一种编程语言中都是很重要的一种数据类型,在任何的开发过程中,在都是很常用的到。C语言中的数组是存储一个固定大小的相同类型元素的顺序集合。
数组的声明不是声明一个变量,而是声明一个数组变量,来表示一个个单独的变量。数组的声明,其实是告诉编译器去开辟空间,用来存储数组元素,也就是一个一个的变量。
那么,先来看看数组的声明:一个数组的声明,一般要有3个部分:1、数组类型;2、数组名称;3、数组长度。
int array[10];
下面,我们来介绍下这个数组。上面声明的数组,数组类型是int类型,数组名称是array,数组长度是10。这里需要说明一下,数组类型指的是数组中元素的类型,这里就映照了开始的时候我们说的,数组是相同类型元素的顺序集合。
声明了数组以后,怎么给数组赋初始值。那就是数组的初始化:
int array[10] = {1,2,3,4,5,6,7,8,9,0};
这样就给array数组初始化赋值了,{}内的元素个数不能大于数组长度。这个数组是一个int类型的数组,有10个元素,分别是:1,2,3,4,5,6,7,8,9,0。顺序不能错,因为我们前面说了数组是一个顺序集合。如果省略掉数组长度,那么数组的长度为初始化时数组中元素的个数。如:
int array[] = {1,2,3,4,5,6,7};
这个数组的长度就是7。
说完了数组的声明和初始化,下面再来说说,数值的使用,也就是访问数组元素。这里才是真正体现数组优势的地方。
数组的访问,可以通过数组名和索引来进行。这里来解释下数组索引。所谓数组索引就是数组中各个元素对应的数字。在数组这个数据类型中,第一个数组元素的索引为0,往后逐个+1。所以,想要访问上面初始化的数组的第二个元素,只要使用 array[1] 就行了。这里需要注意一点,[]中的索引不能大于数组长度-1不然会抛出数组越界的错误。
说到这里,还是没有看到数组的优势在哪。那么接着往下来。数组元素的访问时可以使用索引进行访问的,而且数组的索引还是从0开始递增的。这样的结构让我不禁想到了for循环了。对于一个for循环来说,数组这个东西简直太好用了。在循环中,使用i作为数组的索引,可以很轻易的访问数组中的每一个元素。当然,数组的好处还不止这一点。方便了变量的读写也是一个很重要的好处。
下面我们来写一个完整的数组证明,初始化,访问的代码片段:
int main(int argc, const char * argv[]) {
//数组声明
int array[10];