哪位dl告诉我这个代码是什么意思

img


想知道这个代码每一行都代表着什么,因为真的没学会c语言,为什么L->next=Null? 只知道定义了一个指针p,利用循环指针q先等于指针p,之后p指针指向下一个元素结点的地址,之后就不咋懂了

就是先把链表的头结点和后面断开

虽然已经过去很久了,但还是回答一下吧
可以看到这段代码是将链表逆置,那么遍历链表,再用一个辅助指针q,将每个节点用头插法插入到L后面完成逆置。
那么为什么要先将L的next指向null呢,可以看到在循环中有一步为q->next=L->,L->next=q,这里其实就是头插法的关键步骤,将q指向L链表的后面元素,再讲L指向q。那么我们可以模拟,插入第一个元素时,第一个元素的next显然应该是空的,那么将L的next置为null也就不奇怪了。