C++ 大数组无法正常运行

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:56:02
数组长度设为10000时正常,但当达到100000后编译可以通过,但是程序无法正常运行

改用malloc 出来,这样是动态分配内存就没问题了。

比如 int aa[100000];

改为
int *aa = (int *)malloc(sizeof(int) * 100000);

函数局部变量是放在栈里的,windows默认一个线程只有1MB的栈。所以太大的数组还是用malloc之类的申请在堆里吧。

你能用那么多吗
改为动态不行吗

超过堆的一次内存分配的最大上限了