多维数组初始化,如果给出全部元素的初值,为什么第一维的下标个数就可以不用显式说明了?
多维数组初始化,如果给出全部元素的初值,为什么第一维的下标个数就可以不用显式说明了?
C++标准教材上的原话。
想知道具体原因,编译器是怎么理解的?= = 谢谢各位大大,新手求解。
[解决办法]
例如简单例子 : int a[][3] = {1,2,3,4,5,6}; //这样写是没有问题的。
可以很明显的看出第一维的维数。
当然,也可以这样想,第一维的个数实际上就等于sizeof(a)/(3*sizeof(int))
至于编译器怎么理解的,不是很清楚,不过,大部分编译程序在编译的时候就把sizeof计算过了。
[解决办法]