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

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

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

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

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

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

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

  • 写回答

4条回答

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

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

    而插入并不改变指向

    评论

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web
  • ¥15 kali环境运行volatility分析android内存文件,缺profile
  • ¥15 写uniapp时遇到的问题
  • ¥15 vs 2008 安装遇到问题
  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改