c++二维数组初始化问题

第一题 最好把表列一下 还有为什么第一维数字能省略 不是要把数全列出来才能省吗

答案:C
b[][3] = {{1,0,0}
{2,3,0}
{4,5,6}
{2,0,0}}

数组在内存中默认是按行存储的,所以你在初始化的时候,已经制定了多少行了,就可以省略第一个参数了,即行个数。

另外:
虽然你在这里是二维数组,其实在内存中还是一块连续的一位数组保存的。
&b[1][0] - &b[0][2]只差4个字节即可验证。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-31
C语言有这么一项规定,或者是编译器的缘故。默认的如果定义的类型是整型的话,默认是0,如果是字符默认是'\0';

所以这里的数组b[2][2],都是从0作为首地址的, 第3行第三列的值是6
这个数组也就相当于是
1 0 0
2 3 0
4 5 6
2 0 0

所以b[2][2] = 6. 第3行第三列的值。本回答被网友采纳
第2个回答  2012-12-31

实践出真知,看图

相似回答