Re: [問題] 關於linklist跟struct的問題

看板C_and_CPP (C/C++)作者 (夏天來了)時間16年前 (2009/04/30 01:58), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《conan77420 (小馬非馬)》之銘言: : : //================linklist資料差入=========== : : int insert(int data) : : { : : node *pnode=new node; : : (*pnode).data=data; : : (*pnode).pnext=0; : : if(phead==0) : : {phead=pnode;} : : else : : { node *plast=new node; ^^^^^^^^^ : : plast=phead; ^^^^^^^^^^^ memory leak... 前一行new的記憶體空間變成孤兒了 : : while((*plast).pnext!=0) : : {plast=(*plast).pnext;} : : (*plast).pnext=pnode; : : } : : } : : //============================================ : : //==============將linklist中的值分別印出====== : : void print() : : { : : node *pnode=new node; ^^^^^^^^ : : pnode=phead; ^^^^^^^^^^^^ memory leak 同上... : : while(pnode!=0) : : { : : cout<<"Link list datais:"<<(*pnode).data<<endl; : : pnode=(*pnode).pnext; : : } : : } : //============================================ : void del() : { : node *pnode=new node; ^^^^^^^^^ : pnode=phead; ^^^^^^^^^^^^ memory leak 同上... : node *temp=0; : while(pnode!=0) : { : temp=(*pnode).pnext; : delete pnode; : pnode=temp; : } phead = 0; // 初始化 phead,表示list為空 : } : //============================================== : =============================================== : 當我執行程式時第一次的輸入與印出沒問題, : 但是第二次輸入卻打到第三個就卡住了, : 不管將接受輸入的次數改成幾次都在第三次輸入停住 : 在此請教各位不知哪裡有問題,謝謝 大概是 phead沒初始化,造成 insert()時去存取 已經被delete的記憶體 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.113.195

04/30 21:54, , 1F
可以了!!!!!謝謝這位大大
04/30 21:54, 1F
文章代碼(AID): #19-9LNjw (C_and_CPP)
文章代碼(AID): #19-9LNjw (C_and_CPP)