InsertNextNode函数里为什么不需要加&,但是ListInsert函数里要加,两个不都改变了链表吗

我感觉两个都要加啊,L是头结点,p不也是结点吗?都是改变了链表,求告知!

img

InsertNextNode函数中,并没有修改参数p的地址,所以可以不用引用类型。它的功能是在指定的节点后面加上一个节点,所以参数p节点自身是不会改变的
从函数实现看,ListInert也不需要加引用,因为你这个链表是带头结点的,在函数调用前头结点已经存在了,函数内并没有改变头节点的地址,所以不需要引用

你需要明白,指针和指针变量,这里的&是取地址值,传来的p同样是地址值。