我定义了一个C++数组,int caCodesTable[32][38192];在编译的时候可以通过,可是一运行程序,直接停止,是什么原因?是不是因为数组元素太多了?电脑内存是4G啊,有没有什么解决的方法
你好,
你定义的数组是在程序的栈中存储的,而程序的栈大小一般为2M,
你的数组大小为 4*32*38192 byte= 4.66M,编译的时候不会有问题,
运行时,栈空间会溢出。
对于比较大的数据,可以动态申请内存,
int *pData = new int[32*38192];
pData[i*28192 + j]就是你数组中的
(i,j)元素。
用完之后记得释放内存, delete pData;
@云梦泽hxy:谢谢啊。问题解决了。学习了。