线性链表如何选择二级指针还是一级指针

       网上很多人说需要改变链表的时候就要用二级指针,比如create,delete,destroy...但很多次我用一级指针也能正确操作链表,经过思考和对比,终于总结出:一般有头结点的链表用一级指针即可,无头节点且要操作表头head时就要用的到二级指针。

  使用二级指针的原因就是为了操作原生原味的head。一级指针传过去的之是一个地址拷贝,链表头指针的地址在函数内是无法操作的。

  比如要删除节点时,删除中间节点和尾节点时不用二级指针。但是删除头节点时,不是删除了就完事,头节点没有了必须寻找另一个头节点。即第二个。 但此时不用二级指针的话是访问不了main()函数里的表头指针的。。

  同理,因为有头节点的链表是不用操作head的,我head始终不变,其他的你们爱怎么折腾怎么折腾。。所以一级指针传个head过去就完全OK啦。。

原文地址:https://www.cnblogs.com/funnylinux/p/3482881.html