读书人

多维数组初始化如果给出全部元素的初

发布时间: 2012-06-05 13:54:06 作者: rapoo

多维数组初始化,如果给出全部元素的初值,为什么第一维的下标个数就可以不用显式说明了?
多维数组初始化,如果给出全部元素的初值,为什么第一维的下标个数就可以不用显式说明了?

C++标准教材上的原话。

想知道具体原因,编译器是怎么理解的?= = 谢谢各位大大,新手求解。

[解决办法]
例如简单例子 : int a[][3] = {1,2,3,4,5,6}; //这样写是没有问题的。
可以很明显的看出第一维的维数。

当然,也可以这样想,第一维的个数实际上就等于sizeof(a)/(3*sizeof(int))

至于编译器怎么理解的,不是很清楚,不过,大部分编译程序在编译的时候就把sizeof计算过了。


[解决办法]

探讨

引用:

例如简单例子 : int a[][3] = {1,2,3,4,5,6}; //这样写是没有问题的。
可以很明显的看出第一维的维数。

当然,也可以这样想,第一维的个数实际上就等于sizeof(a)/(3*sizeof(int))

至于编译器怎么理解的,不是很清楚,不过,大部分编译程序在编译的时候就把sizeof计算过了。


补充一下:
如果是……

读书人网 >C++

热点推荐