定义数组初始化正确定义⼆维数组
⼆维数组必须指定列的数量,⾏的数量可以不定义即可以省略第⼀维的定义,但不能省略第⼆维的定义
1.分⾏进⾏初始化
int a[2][3] = {{1,2,3},{4,5,6}};
在{}内部再⽤{}把各⾏分分开,第0⾏的初值是1,2,3。第1⾏的初值是4,5,6。相当于执⾏:
int a[2][3];
a[0][0] = 1; a[0][1] = 2; a[0][2] = 3;a[1][0] = 4;a[1][1] = 5; a[1][2] = 6;
2.不分⾏初始化
int a[2][3] = {1,2,3,4,5,6};
把{ }中的数据依次赋给a数组各元素。
3.为部分数组元素初始化:
static a[2][3] = {{1,2}, {4}};
第⼀⾏只有两个初值,按顺序分别赋给a[0][0] 和 a[0][1];第⼆⾏的初值4赋给a[1][0]。由于存储类型是static,故其他元素的初始值是0。ps:某些编译器,存储类型不是static的初始值也是0。
4.可以省略第⼀维定义,但不能省略第⼆维定义
a[][3] = {1,2,3,4,5,6};
⼀般,省略第⼀维定义时,第⼀维的规则如下:
初值个数能被第⼆位整除,所得的商就是第⼀维的⼤⼩,如果不能整除,第⼀维的⼤⼩为商 + 1。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论