[問題] 二維陣列大小

看板C_and_CPP作者 (劍逼)時間15年前 (2010/05/29 02:18), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/2 (看更多)
我去開一個矩陣的時候 用的是這樣 int T[n][n]; n是已經處理好的變數 但是 當我的n到達一個的較大值的時候(一千多就不行了) 跑程式的時候就會出現錯誤訊息"Segmentation fault" 想請問是因為array到達一個大小值之後記憶體不夠嗎 如果是這樣的話該怎麼解決 因為是二維 vector好像沒辦法解決? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.142.126

05/29 02:20, , 1F
爆stack vector<vector<int>> 包兩層就好
05/29 02:20, 1F
請問有類似精華區裡 int *array=new int[2000000000]; 這一種方法嗎 ※ 編輯: a29831287 來自: 114.42.142.126 (05/29 02:33)

05/29 02:37, , 2F
異曲同工
05/29 02:37, 2F

05/29 02:40, , 3F
但是那樣做大小就要變成常數不能用變數n耶
05/29 02:40, 3F

05/29 03:07, , 4F
int *array=new int[n]; /* why not? */
05/29 03:07, 4F

05/29 05:32, , 5F

05/29 20:31, , 6F
你的變數N每次執行是會一樣還是不一樣?
05/29 20:31, 6F

05/30 16:51, , 7F
n會不一樣
05/30 16:51, 7F
文章代碼(AID): #1C00a1eX (C_and_CPP)
文章代碼(AID): #1C00a1eX (C_and_CPP)