求教一个关于二维数组的定义问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 16:10:17
求教一个关于二维数组的定义问题
请问以下哪一个二维数组的定义是正确的
1. int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}
2. int x[][3]={1,2,3,4}
能否简要说明原因,谢谢!
请问第二个输出会不会还有很多行的0 0 0?

第一维的是可以省略的,你已经初始化了 编译器知道你每一行有三个数,
第二维是不可以省略的
二维和一维数组在内存中存放是一样的,都是横向的,并没有一个矩形的存在,
所以编译器必须要知道你一行到底以几个数结束

第2个正确 输出为 1 2 3 因为第一维的长度不能省略
4 0 0

第二个定义是正确的。二维数组定义中必须指定列,行可以不用指定。数组中其他没有赋值的为0,后面的都是0.

风之山人 说的正确