插入鏈表問題
請(qǐng)問老師:傳入 *Pnode不能直接使用嗎,為什么每次都要先New node;
可以寫成:pNode->Next = currentNode->next; ? ?
? ? ? ? ? ? ??currentNode->next =pNode;
這樣寫正確嗎?不正確為什么?
請(qǐng)問老師:傳入 *Pnode不能直接使用嗎,為什么每次都要先New node;
可以寫成:pNode->Next = currentNode->next; ? ?
? ? ? ? ? ? ??currentNode->next =pNode;
這樣寫正確嗎?不正確為什么?
2016-12-09
舉報(bào)
2016-12-10
老師是這么說的,比如你要在主文件的函數(shù)中調(diào)用插入節(jié)點(diǎn)的函數(shù),在主文件的函數(shù)中聲明一個(gè)Node node對(duì)象,一般在函數(shù)中申請(qǐng)變量都是在棧中申請(qǐng),不會(huì)在堆中,在棧中申請(qǐng)的對(duì)象在函數(shù)執(zhí)行完成后就銷毀了,可以節(jié)約內(nèi)存資源。這時(shí)你把這個(gè)node對(duì)象的地址傳入插入節(jié)點(diǎn)的函數(shù)中,插入節(jié)點(diǎn)函數(shù)只需要拿到這個(gè)node對(duì)象中的值,然后自己去堆中申請(qǐng)內(nèi)存。 ?如果你直接引用傳進(jìn)來的node對(duì)象,這個(gè)對(duì)象在外面函數(shù)執(zhí)行完成后被系統(tǒng)銷毀了,剛插入的值不復(fù)存在,就會(huì)引發(fā)錯(cuò)誤,