鏈表的一級指針和二級指針



1,初始化鏈表頭部指針需要用二級指針或者一級指針的引用。

2,銷燬鏈表需要用到二級指針或者一級指針的引用。

3,插入、刪除、遍歷、清空結點用一級指針即可。

分析:
1,只要是修改頭指針則必須傳遞頭指針的地址,否則傳遞頭指針值即可(即頭指針本身)。這與普通變量類似,當需要修改普通變量的值,需傳遞其地址,否則傳遞普通變量的值即可(即這個變量的拷貝)。使用二級指針,很方便就修改了傳入的結點一級指針的值。 如果用一級指針,則只能通過指針修改指針所指內容,卻無法修改指針的值,也就是指針所指的內存塊。所以創建鏈表和銷燬鏈表需要二級指針或者一級指針引用。

2,不需要修改頭指針的地方用一級指針就可以了,比如插入,刪除,遍歷,清空結點。假如頭指針是L,則對L->next 及之後的結點指針只需要傳遞一級指針。

3,比如一個結點p,在函數裏要修改p的指向就要用二級指針,如果只是修改p的next指向則用一級指針就可以了

函數中傳遞指針,在函數中改變指針的值,就是在改變實參中的數據信息。但是這裏改變指針的值實際是指改變指針指向地址的值,因爲傳遞指針就是把指針指向變量的地址傳遞過來,而不是像值傳遞一樣只是傳進來一個實參副本。所以當我們改變指針的值時,實參也改變了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章