C语言程序设计(第5章数组)4
5.4数组的初始化
5.4.1数组的初始化
C语言允许在描述时初始化全局数组和静态局部数组,但不能初始化非静态局部数组。
与其他变量类似,数组初始化的一般形式如下:
类型说明符array _ name [size 1]...[sizen]= { value-list };
值表是用逗号分隔的常数表。这些常数的类型与类型描述兼容。第一个常数存储在数组的第一个单元格中,第二个常数存储在第二个单元格中,依此类推。注意,括号“}”后面要加一个分号。
初始化下列1个0元素整数数组之一以加载数字1到10:
int I [10] = {1,2,3,4,5,6,7,8,9,10 };
这意味着i[0]的值是1,而i[9]的值是10。
字符数组存储字符串的初始化可以采取以下简化形式:
char array _ name[size]= " string ";
例如,下面的代码片段将str初始化为“hello”。
char str[6]= " hello ";
上面的代码与下面的代码产生相同的结果:
char str[6]={'h ',' e ',' l ',' l ',' \ o ' };
因为C语言中的所有字符串都以空( NULL)字符结尾,所以请确保定义的数组足够长,可以容纳空字符。这就是为什么h ello只有5个字符,而str必须有6个字符长。使用字符串常量时,编译器会自动在末尾添加空。
多维数组的初始化方式与一维数组相同。例如,下面的公式初始化从1到1 0的sqr及其各自的平方。
int sqrs[10][2]={
1,1,
2,4,
3,9,
4,1 6,
5,2 5,
6,3 6,
7,4 9,
8,6 4,
9,8 1,
1 0,1 0 0,
};
0条评论