一维数组的定义方式为:类型说明符 数组名[常量表达式];如: 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语言中动态分配数组(一维) 。由此看来上面书中“不能动态分配”的说法还是太绝对了。

评论