文章大綱:
1.題目簡(jiǎn)介
2.重點(diǎn)分析
3.知識(shí)拓展
1.題目簡(jiǎn)介
輸入一個(gè)鏈表的頭結(jié)點(diǎn),從尾到頭反過(guò)來(lái)打印出每個(gè)節(jié)點(diǎn)的值
2.重點(diǎn)分析
書(shū)上說(shuō)除了函數(shù),pHead仍然是空指針??抢锇阎羔槷?dāng)參數(shù)直接傳進(jìn)去,是改變不了指針的。還會(huì)造成問(wèn)題。
下面幫助理解和分析

指針的指針圖解

那么怎么辦?
兩種方法:1.指針的指針 2.指針的引用
指針的指針做法


這里注意 要初始化一個(gè)指針為空,而不是初始化一個(gè)指針的指針為空。
我一開(kāi)始以為,參數(shù)那里是兩顆星,那我這里也應(yīng)該是初始化**(too young)
然后在傳入?yún)?shù)的時(shí)候是傳入指針的地址進(jìn)去。&
指針的引用做法


這兩者的寫法區(qū)別不大,指針的引用就不用加&取地址符了,同時(shí)函數(shù)里面就是把pHead前面的*都去掉即可。
這兩種方法哪種更有優(yōu)勢(shì)呢?
我去網(wǎng)上查閱資料的時(shí)候,看到是說(shuō)指引的引用更好。
然后我做了一個(gè)測(cè)試,果然,用指針的指針還是會(huì)多浪費(fèi)一個(gè)內(nèi)存出來(lái)。
而用引用則一直在修改原來(lái)的對(duì)象,始終如一。


3.知識(shí)拓展
在使用返回值時(shí),千萬(wàn)別返回指向“棧內(nèi)存”的指針、引用,因?yàn)樵搩?nèi)存在函數(shù)結(jié)束時(shí)自動(dòng)消亡了,返回的指針是個(gè)野指針了。例如

在函數(shù)中不定義數(shù)組,定義指針,示例:

此時(shí)的程序是正確的,但是有一點(diǎn),此時(shí)分配的內(nèi)存處于靜態(tài)區(qū),是只可以讀取但是不可以修改的。