→ dritchie: mynode *p = new mynode[n];05/27 00:18
→ dritchie: delete[] p;05/27 00:18
這樣不是指標陣列吧?
mynode *p[100];
p[0]~p[99] 都是指標,
而我想把 *p[100] 的 100
用成變數
※ 編輯: noodleT (39.9.178.200), 05/27/2015 00:45:26
→ heyboo4862: for(int I=0;I<n;I++)delete[]p[I]05/27 01:35
→ heyboo4862: delete[]p05/27 01:36
推 anyoiuo: 樓上正解,但記得初始化成NULL,delete[]前先做檢查先。05/27 10:42
我只 new 一次,
為什麼要用迴圈 delete那麼多次?
※ 編輯: noodleT (39.10.11.203), 05/27/2015 12:33:28
→ anyoiuo: 因為你new了100個mynode指標,正常要使用其中的mynode指標05/27 18:03
→ anyoiuo: 要進行記憶體配置05/27 18:04
→ anyoiuo: 如p[i] = new mynode[5]; <= 有new就要記得delete05/27 18:06
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
→ anyoiuo: 最後再進行delete [] p;05/27 19:05
→ anyoiuo: mynode[i] = NULL // <= 沒配置記憶體就不要delete05/27 19:21
用手機發文,沒有改大寫…
※ 編輯: noodleT (39.10.11.203), 05/27/2015 19:33:05
推 anyoiuo: 參考看看兩種方法 05/27 19:35
推 anyoiuo: 補充: Method1是c++的Struct才有的寫法 05/27 19:43