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