一、單鏈表指針
單鏈表的指針域指向的是下一個節點的地址,我們把指向下個節點地址的指針叫做后繼指針。單鏈表的名列前茅個節點的存儲位置叫做頭指針,最后一個節點的后繼指針為空 ,一般用 NULL 或者 “^” 表示。
鏈式存儲結構是指用一組任意的存儲單元存儲線性表的數據元素,通過指針連接串聯起來。這里的“任意”指的就是,存儲單元可以連續也可以不連續,這就意味著它們可以是內存中任何未被占用的地方。有味兒點講就是只要內存這個廁所里空著的茅坑,你就隨便蹲。鏈表中的存儲單元叫做節點。它和數組中只存數據信息不同,每個節點分為兩部分:數據域和指針域。數據域存儲的數據,指針域存儲著同一個表里下一個節點的位置。
延伸閱讀:
二、頭指針與頭節點的區別
頭指針,顧名思義,是指向鏈表名列前茅個結點的指針,如果有頭結點的話,那么就是指向頭結點的指針。
它是鏈表的必備元素且無論鏈表是否為空,頭指針都不能為空,因為在訪問鏈表的時候你總得知道它在什么位置,這樣才能通過它的指針域找到下一個結點的位置,也就是說知道了頭指針,整個鏈表的元素我們都是可以訪問的。
所以頭指針必須要存在,這也就是我們常說的標識,這也就是為什么我們一般用頭指針來表示鏈表。
頭結點,是放在名列前茅個元素的節點之前,它的數據域一般沒有意義,并且它本身也不是鏈表必須要帶的。
它的設立是單純是為了操作的統一和方便,其實就是為了在某些時候可以更方便的對鏈表進行操作,有了頭結點,我們在對名列前茅個元素前插入或者刪除結點的時候,它的操作與其它結點的操作就統一了。