首页 新闻 会员 周边

c++数组问题

0
[已解决问题] 解决于 2013-10-28 20:28

我定义了一个C++数组,int caCodesTable[32][38192];在编译的时候可以通过,可是一运行程序,直接停止,是什么原因?是不是因为数组元素太多了?电脑内存是4G啊,有没有什么解决的方法

TPrime.A的主页 TPrime.A | 菜鸟二级 | 园豆:216
提问于:2013-09-30 16:29
< >
分享
最佳答案
2

你好,

你定义的数组是在程序的栈中存储的,而程序的栈大小一般为2M,

你的数组大小为 4*32*38192 byte= 4.66M,编译的时候不会有问题,

运行时,栈空间会溢出。

对于比较大的数据,可以动态申请内存,

int *pData = new int[32*38192];  

pData[i*28192 + j]就是你数组中的

(i,j)元素。

用完之后记得释放内存, delete pData;

奖励园豆:5
云梦泽hxy | 菜鸟二级 |园豆:207 | 2013-09-30 16:43

@云梦泽hxy:谢谢啊。问题解决了。学习了。

TPrime.A | 园豆:216 (菜鸟二级) | 2013-09-30 17:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册