定义二维数组是可不可以省略第一个下标表达式

如题所述

可以,但是需要初始化

int a[][2]={{1,2},{3,4}};

通过实际的初始值来隐含指定第一个下标为2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-19
以下两种情况可以:
1。对全部元素都赋值。
如:a[2][3]={1,2,3,4,5,6};可以写成a[][3]={1,2,3,4,5,6}。因为系统会根据数据总个数和第二维的长度算出第一维的长度。
2。只对部分赋值,但要分行赋值。
如:a[][3]={ {},{4,5} } 这样能通知系统,数组有2行,数组元素为
0 0 0
4 5 0
第2个回答  2011-06-19
可以,但是就是比较浪费空间。
第3个回答  2011-06-19
最好取N的最大可能值或者动态分配数组大小

在C++里推荐用new关键字而不是malloc。。。new、free、delete、malloc混用对于新手来说是灾难性的。
第4个回答  2011-06-19
这要看你用那种语言了。