C++定义较大的三维数组

定义三维数组bool array[200][200][200];
结果运行时程序直接停止运行了,这是因为数组太大吗,怎么解决?

第1个回答  推荐于2016-09-01
是。超出了局部变量能够容纳的范围。

如果对你来说调整这个限制太难了,那么把它定义成全部变量应该就能解决了。本回答被提问者采纳
第2个回答  2014-12-05
有的系统中,bool类型占用的字节数与int类型一样(可以测试: sizeof(bool)),都是4个字节,故对于
bool array[200][200][200]来说,需要的内存为200 * 200 * 200 * 4 = 3.2 * 10^7 ≈ 32.52MB,若将数组改为char array[200][200][200],只需约7.63MB。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网