在聲明大型數(shù)組時(shí)獲取堆棧溢出異常下面的代碼正在為我生成堆棧溢出錯(cuò)誤int main(int argc, char* argv[]){
int sieve[2000000];
return 0;}我怎么才能避開(kāi)這一切?我正在使用TurboC+,但我想將我的代碼保存在C中編輯:謝謝你的建議。上面的代碼只是-例如,我實(shí)際上在一個(gè)函數(shù)中聲明了數(shù)組,而不是在Submain中。另外,我需要將數(shù)組初始化為零,所以當(dāng)我在google上搜索malloc時(shí),我發(fā)現(xiàn)calloc對(duì)于我的目的來(lái)說(shuō)是完美的。Malloc/calloc也比在堆棧上分配的優(yōu)點(diǎn)是允許我使用變量聲明大小。
3 回答

慕尼黑8549860
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
int *sieve = malloc(2000000 * sizeof(*sieve));
針尖

慕運(yùn)維8079593
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
int main(int argc, char* argv[]){ int * sieve; sieve = malloc(20000); return 0;}
- 3 回答
- 0 關(guān)注
- 816 瀏覽
添加回答
舉報(bào)
0/150
提交
取消