日期:2014-05-20  浏览次数:20818 次

多维数组定义的一个小问题
int a3[][][]={{45,25},{89,6,7,1},{6,89,1},{9,6,2,1,2}};  为什么这样定义会报错?
int a3={{45,25},{89,6,7,1},{6,89,1},{9,6,2,1,2}}; 为什么这样定义会报错?

求讲解下多维数组 ,谢谢
int[][] m = {{45,22,3},{32,3,4}};
int[][][] b2 = {{{15666,2,3},{1,2,3}},{{3,4,1},{2,3,4,9}}};

------解决方案--------------------
int a3[][][]={{45,25},{89,6,7,1},{6,89,1},{9,6,2,1,2}};  
错误是因为右侧是一个二维数组,你却想把它赋给左侧的三维数组,当然错误了,左侧去掉一个方括号就行。

int a3={{45,25},{89,6,7,1},{6,89,1},{9,6,2,1,2}};
错误是因为右侧是一个二维数组,你却想把它赋给整型,当然错误了,左侧加上2个方括号就行。

定义多维数组,左侧几个方括号代表几个维度,应该和你右侧花括号嵌套层数一致。


------解决方案--------------------
你只要把{}大括号的关系理顺就好理解了。
------解决方案--------------------
引用:
Quote: 引用:

int a3[][][]={{45,25},{89,6,7,1},{6,89,1},{9,6,2,1,2}};  
错误是因为右侧是一个二维数组,你却想把它赋给左侧的三维数组,当然错误了,左侧去掉一个方括号就行。

int a3={{45,25},{89,6,7,1},{6,89,1},{9,6,2,1,2}};
错误是因为右侧是一个二维数组,你却想把它赋给整型,当然错误了,左侧加上2个方括号就行。

定义多维数组,左侧几个方括号代表几个维度,应该和你右侧花括号嵌套层数一致。



请问怎么看出来右侧是二维的?

很简单啊,你看看一开始有几个括号连着的。你的是{{,表明两个连着,所以是二维啊。