[問題] 動態宣告陣列
我想問一下,關於動態宣告陣列的問題
int main(){
const int n=5;
int a[n];
return 0;
}
上面這幾行,陣列應該是存在stack
int main(){
int n=5;
int a[n];
return 0;
}
C99支援上面這種寫法,請問這樣陣列還是存在stack嗎?
這樣寫是否會有任何問題?
因為我要用到
main(){
//do something
funct(n);
return 0;
}
void funct(int n){
int a[n];
//do something
}
這樣寫可以嗎?或是應該要改成malloc的方法呢?
--
儘管生命的起源只是一種化學反應
儘管人類的存在只是記憶數據的影子
儘管靈魂並不存在,精神只是神經細胞的火花
儘管世上沒有神,人一定要靠一己之力在這殘酷的世界中掙扎求存
我還是......
我還是...... 要以意識之名命令你───「活下去」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.6.170
→
03/08 15:07, , 1F
03/08 15:07, 1F
推
03/08 15:15, , 2F
03/08 15:15, 2F
→
03/08 15:16, , 3F
03/08 15:16, 3F
→
03/08 15:16, , 4F
03/08 15:16, 4F
→
03/08 16:05, , 5F
03/08 16:05, 5F
→
03/08 16:11, , 6F
03/08 16:11, 6F
※ 編輯: henry666666 來自: 140.114.85.133 (03/08 16:16)
※ 編輯: henry666666 來自: 140.114.85.133 (03/08 16:28)
→
03/08 19:54, , 7F
03/08 19:54, 7F
→
03/08 19:55, , 8F
03/08 19:55, 8F
→
03/08 22:02, , 9F
03/08 22:02, 9F
推
03/08 22:29, , 10F
03/08 22:29, 10F
抱歉,講仔細一點
因為我印象中stack的大小可以在IDE設定
因為我要跑非常大的array
那如果我去調大他的stack,那一開始就佔很多記憶體
......我是希望他在heap區啦,感覺比較不會有問題
最後還是決定用malloc比較放心
※ 編輯: henry666666 來自: 140.114.6.119 (03/09 21:21)
推
03/12 13:06, , 11F
03/12 13:06, 11F
→
03/12 13:06, , 12F
03/12 13:06, 12F
→
03/12 13:07, , 13F
03/12 13:07, 13F