罗辑拯救世界 2020-03-04 11:38 采纳率: 0%
浏览 1350
已结题

如图,为什么单链表初始化需要二级指针,而单链表的插入操作不用二级指针?

如图图片说明,创建单链表时形参head设计成二级指针类型,是因为要改变头指针指向(对吗?)。

而单链表的插入操作同样需要改变指针指向,为什么不需要用二级指针?图片说明

是因为不需要改变头指针指向所以不用传址吗?

下面这个问题就显示了我的彻底混乱:那为什么插入操作函数里面的指针P改变了指向却不用定义为二级指针类型(这么说对吗)?图片说明

本来在链表之前我还是会用指针的,一到链表,还加了个二级指针,我就懵了。问题也很混乱,希望有大佬能指导一下。

  • 写回答

4条回答 默认 最新

  • threenewbee 2020-03-04 11:59
    关注

    因为初始化的时候,需要改变这个指针的指向
    SLNode * list = NULL; //指向 NULL
    ListIntiate(list);
    //此时list指向有效内存了

    而插入并不改变指向

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月5日