在声明大型数组时获取堆栈溢出异常下面的代码正在为我生成堆栈溢出错误int main(int argc, char* argv[]){
int sieve[2000000];
return 0;}我怎么才能避开这一切?我正在使用TurboC+,但我想将我的代码保存在C中编辑:谢谢你的建议。上面的代码只是-例如,我实际上在一个函数中声明了数组,而不是在Submain中。另外,我需要将数组初始化为零,所以当我在google上搜索malloc时,我发现calloc对于我的目的来说是完美的。Malloc/calloc也比在堆栈上分配的优点是允许我使用变量声明大小。
3 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
int *sieve = malloc(2000000 * sizeof(*sieve));
针尖
慕运维8079593
TA贡献1876条经验 获得超5个赞
int main(int argc, char* argv[]){ int * sieve; sieve = malloc(20000); return 0;}
- 3 回答
- 0 关注
- 774 浏览
添加回答
举报
0/150
提交
取消