[問題] 一維動態指標

作者: noodleT (麵T)   2015-05-27 00:01:30
問題(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):
作者: dritchie (卍~邁斯納效應~卍)   2015-05-27 00:18:00
mynode *p = new mynode[n];delete[] p;
作者: heyboo4862   2015-05-27 01:35:00
for(int I=0;I<n;I++)delete[]p[I]delete[]p
作者: anyoiuo   2015-05-27 10:42:00
樓上正解,但記得初始化成NULL,delete[]前先做檢查先。因為你new了100個mynode指標,正常要使用其中的mynode指標要進行記憶體配置如p[i] = new mynode[5]; <= 有new就要記得delete最後再進行delete [] p;mynode[i] = NULL // <= 沒配置記憶體就不要deletehttp://ideone.com/eK5wD0參考看看兩種方法補充: Method1是c++的Struct才有的寫法C: http://ideone.com/gtkVHT

Links booklink

Contact Us: admin [ a t ] ucptt.com