[問題] 一維動態指標
問題(Question):
struct mynode{
//some data
}:
int n =100;
mynode **node = new mynode *[n];
//some code
delete []node[n];
我在 bcb 按鈕中動態配置一個
大小為 n 的指標,
但不知道是 delete 錯了,
還是其他錯誤
造成第一次按按鈕,
跟第二次按按鈕產生不同結果
網路上 c++ 指標教學幾乎都是
二維 [m][n] 的範例,
請問我這樣 new delete 對嗎?
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
Sent from my Android
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.178.200
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432656096.A.2C3.html
→
05/27 00:18, , 1F
05/27 00:18, 1F
→
05/27 00:18, , 2F
05/27 00:18, 2F
這樣不是指標陣列吧?
mynode *p[100];
p[0]~p[99] 都是指標,
而我想把 *p[100] 的 100
用成變數
※ 編輯: noodleT (39.9.178.200), 05/27/2015 00:45:26
→
05/27 01:35, , 3F
05/27 01:35, 3F
→
05/27 01:36, , 4F
05/27 01:36, 4F
推
05/27 10:42, , 5F
05/27 10:42, 5F
我只 new 一次,
為什麼要用迴圈 delete那麼多次?
※ 編輯: noodleT (39.10.11.203), 05/27/2015 12:33:28
→
05/27 18:03, , 6F
05/27 18:03, 6F
→
05/27 18:04, , 7F
05/27 18:04, 7F
→
05/27 18:06, , 8F
05/27 18:06, 8F
mynode **node = new mynode *[n];
for(int i=0;i<n;i++){
mynode[i] = null;
}
for(int i=0;i<n;i++){
if(node[i])
delete[]node[i];
}
delete[]node;
這樣嗎?
那我的mynode struct
中如果有指標,需要在哪裡設
null呢?如果不設,他會亂指嗎?
如:
struct mynode{
//some data
mynode *left , *right;
}:
※ 編輯: noodleT (39.10.11.203), 05/27/2015 19:11:16
→
05/27 19:05, , 9F
05/27 19:05, 9F
→
05/27 19:21, , 10F
05/27 19:21, 10F
用手機發文,沒有改大寫…
→
05/27 19:22, , 11F
05/27 19:22, 11F
※ 編輯: noodleT (39.10.11.203), 05/27/2015 19:33:05
推
05/27 19:35, , 12F
05/27 19:35, 12F
推
05/27 19:43, , 13F
05/27 19:43, 13F
→
05/27 19:54, , 14F
05/27 19:54, 14F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章