在链表操作中经常会遇到链表头的问题,如下图:

关于二级指针的认识_二级指针

在这个链表插入函数中,如果链表中第一个元素就小于newValue,则需要更新头指针。当然可以把头指针定义为全局变量,但这并不是最优解,所以我们需要在函数中更新头指针的值,如下图:

关于二级指针的认识_二级指针_02

当然Link *head  这里的head就是struct ** Node二级指针,在这里只是实现了更新头指针的功能,其实二级指针还有更妙的用法:链表中每一个节点都有指向它的指针,指向头节点的是头指针,指向其他节点的是它前一个节点的链,这样只需要修改指向每个节点的链即可:

关于二级指针的认识_二级指针_03