1.定义一维数组
定义一维数组的一般形式:
类型符 数组名[常量表达式];
注意:
(1)数组名的命名规则:遵循标识符命名规则
(2)在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组的长度。注意,定义的数组的下标是从0开始的。
(3)常量表达式中可以包括常量和符号常量,比如int a[3+5]
是合法的。不能包含变量,比如int a[n]
是不合法的。C语言不允许对数组的大小作为动态定义,即数组的大小不依赖于程序运行过程中变量的值。
2.引用一维数组元素
只能引用数组元素,不能一次整体调用整个数组全部元素的值
引用数组元素的表示形式:
数组名[下标]
注意:
定义数组时用到的“数组名[常量表达式]”和引用数组元素时用的“数组名[下标]”形式相同,但含义不同
int a[10];
前面有int,这是定义数组,指定数组包含10个元素;
t=a[6];
这里的a[6]表示引用a数组中序号为6的元素。
3.一维数组的初始化
在定义数组的同时给各个数组的元素赋值,称为数组的初始化。可以用“初始化列表”的方法实现数组的初始化。
(1)在定义数组时给全部数组元素赋初值。
int a[10]={0,1,2,3,4,5,6,7,8,9};
这种将数组中各元素的初值顺序放在一对花括号中,数据用逗号隔开,花括号内的数据就称为“初始化列表”。
(2)可以只给数组中的一部分元素赋值。
int a[10]={0,1,2,3,4};
定义a数组有10个元素,但花括号里面只提供5个初值,表示只给前面5个元素赋初值,系统自动给后5个元素赋初值为0。
(3)如果想使一个数组中全部元素值为0,可以写成
int a[0]={0,0,0,0,0,0,0,0,0,0};
或
int a[10]={0};
(4)对全部数组元素赋初值时,由于数据的个数已经确定,因此不可以指定数组长度。
例如:
int a[5]={1,2,3,4,5};
可以写成
int a[]={1,2,3,4,5};
花括号中有五个数,虽然没有在方括号中指定数组的长度,但是系统会根据花括号中数据的个数确定a数组有5个元素。
但是如果数组长度与提供初值的个数不一样,则方括号中的数组长度不能省略。
例如:想要数组长度为10,就不能省略数组长度的定义,而必须写成
int a[10]={1,2,3,4,5};
如果在定义数组时,指定了数组的长度并对之初始化,凡未被初始化的数组元素,系统将自动把它们初始化为0,如果是字符型数组,则初始化为’\0’,如果是指针型数组,则初始化为NULL,即空指针。