Arrays 为什么我不能创建int';在vc 2012中,它比508乘以508大

Arrays 为什么我不能创建int';在vc 2012中,它比508乘以508大,arrays,visual-c++,Arrays,Visual C++,当我尝试创建512×512的2d数组时,我得到一个异常(ConsoleApplication3.exe中0x00A916D7处未处理的异常:0xC00000FD:堆栈溢出(参数:0x00000000,0x00752000) ,以及int(4字节)*512*512=1MB的大小 当您内联声明一个数组时,例如行inta[512][512],这是使用堆栈来完成的。因为堆栈上已经有一些东西,这就是为什么您在“仅”508x508之后遇到堆栈溢出(正如Mitch指出的那样)(不要依赖那么多!) 不要在堆栈上

当我尝试创建512×512的2d数组时,我得到一个异常(ConsoleApplication3.exe中0x00A916D7处未处理的异常:0xC00000FD:堆栈溢出(参数:0x00000000,0x00752000)

,以及int(4字节)*512*512=1MB的大小

当您内联声明一个数组时,例如行
inta[512][512]
,这是使用堆栈来完成的。因为堆栈上已经有一些东西,这就是为什么您在“仅”508x508之后遇到堆栈溢出(正如Mitch指出的那样)(不要依赖那么多!)

不要在堆栈上分配数组数组,而是使用
new
/
malloc
在堆上分配数组。根据您的具体操作,数组甚至可能不是正确的数据结构。

堆栈溢出:可能重复的可能重复的
int  main()
{

int a[512][512];
return 0;
}