下面的代码在我的电脑上导致了栈溢出错误
int main(int argc, char* argv[])
{
int sieve[2000000];
return 0;
}
我该怎么解决这个问题?我正在使用Turbo C++,但是想保持我的代码仍然是C。
编辑:
谢谢您的建议。上面的代码只是举例,实际上我在一个函数中声明该数组而不是在子主函数中。此外,我需要将数组初始化为零,所以当我搜索malloc时,我发现calloc非常适合我的需求。
Malloc/calloc的优点是允许我使用变量声明大小,而不是在堆栈上分配空间。