一维数组的定义方式为:
类型说明符 数组名[常量表达式];
如: int a[10];
它表示数组名为a,此数组有10个元素。
(1) 数组名定名规则和变量名相同,遵循标识符定名规则。
(2) 数组名后是用方括弧括起来的常量表达式。
(3) 常量表达式表示元素的个数,即数组长度。例如,在a[10]中,10表示a数组有10个元素,下标从0开始,这10个元素是,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]。注意不能使用数组元素a[10] 。
(4) 常量表达式中可以包括常量和符号常量,不能包含变量。也就是说,c不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。例如,下面这样定义数组是不行的:
int n;
scanf("%d",&n);
int a[n];
★ 所以用到数组时数组的大小是确定的,不能动态分配。
关于一维数组的初始化: 可以只绐一部分元素赋值, 例如:
int a[10] = {0, 1, 2, 3, 4};
此时只绐前面5个元素赋初值,后5个元素值为0 。
[更新] C语言中动态分配数组(一维) 。由此看来上面书中“不能动态分配”的说法还是太绝对了。
评论