C++ 大数组无法正常运行
来源:百度知道 编辑:UC知道 时间:2024/05/30 20:56:02
数组长度设为10000时正常,但当达到100000后编译可以通过,但是程序无法正常运行
改用malloc 出来,这样是动态分配内存就没问题了。
比如 int aa[100000];
改为
int *aa = (int *)malloc(sizeof(int) * 100000);
函数局部变量是放在栈里的,windows默认一个线程只有1MB的栈。所以太大的数组还是用malloc之类的申请在堆里吧。
你能用那么多吗
改为动态不行吗
超过堆的一次内存分配的最大上限了