静态三维阵列 - 分段故障[C++]

问题描述:

我要创建静态3D阵列200x200x200,但是当我试图编译该代码静态三维阵列 - 分段故障[C++]

int main() 
{ 
    int arr[200][200][200]; 
    return 0; 
} 

程序崩溃。调试器显示此错误:

Program received signal SIGSEGV, Segmentation fault. 

有没有人有想法如何解决这个问题?

+1

尺寸太大,把这个数组到时加载它们计算少的数字,例如堆栈... –

+0

这不是静态的,这就是它被放入堆栈的原因。 – RyanP

+1

堆栈大小是一些MB。请参阅http://stackoverflow.com/questions/27481707/maximum-stack-size-for-c-c-program –

您的空间不足:200 * 200 * 200 * 4(32位系统int)都是〜32MB。您无法在堆栈中分配太多空间。 Answer 1Answer 2

找到另一个解决方案,包括使用时间结果中找到其他结果,或保存值到文件,并需要

+0

这不是8GB。 –

+0

编辑错误 – Hennio

+0

也不是8 MB。 – user4581301