首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

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

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

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计算过了。


补充一下:
如果是……

热点排行