1. 程式人生 > >關於C語言實現單鏈表為什麼要用二級指標

關於C語言實現單鏈表為什麼要用二級指標

一級指標作為函式引數可以交換兩個數的值,二級指標作為函式引數可以改變一級指標的值,也就是改變地址。

typedef struct linknode{
char* data;
linknode* next
}linknode, linklist;
單鏈表中的尾插函式,如果傳入一個一級指標 linknode
head,那麼只能改變這個一級指標所指向的linknode裡面的內容,即data指標和next指標的內容,通過改變指標的內容,就可以使指標指向其他記憶體空間,而尾插函式就是通過修改next指標的內容,使其指向一塊記憶體空間,這樣已經可以滿足尾插函式的要求,所以可以不用二級指標也可以實現。
單鏈表尾刪函式,其原理使通過頭結點的next指標一直找到next為null的尾節點,然後刪除,即令sencondlastnode->next=null;它其實需要修改的值也是next的值,而不是linknode*的值,所以也可以用一級指標來實現,其他的方法也是同樣分析。