c语言单链表中p=L->next与L->next=p有什么区别,求解解决方案

c语言单链表中p=L->next与L->next=p有什么区别,求解
如题。。。。。。。。。

------解决方案--------------------
p=L->next与L->next=p
区别大了,一个给p赋值,一个用p去赋值。
假设L->next=NULL;
p=L->next之后p=NULL了
而后一个,p没变,L->next变了。
------解决方案--------------------
区别很大,p=L->next是把L->next赋值给p,注意的是L->next必须有初始值,
而L->next=p则把p的值赋给L->next,同理p也要有初始值
------解决方案--------------------
第一个改变p的值,p应该是个临时变量,这个语句应该就是用于迭代,相当于i++
第二个改变链表内元素的值,相当于改变数组元素的值,比如arr[i] = XXX.
------解决方案--------------------
一个改变的是p,一个改变的是L->next。。你说a=b跟b=a一样吗。。
------解决方案--------------------
引用:
部分代码
#include"stdio.h" 
#include"malloc.h" 
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1         
#define OVERFLOW -2            
#define LIS……

这个是创建个循环链表,每一次都是新的节点放在L->next,并且更新了L->next的位置
比如
L->Node2->Node1->NULL
Node3来了
p->next=L->next;这句后
L->Node2->Node1=NULL;
p->
------解决方案--------------------
(也指node2)
L->next=p;这句后
L->p->node2->node1->NULL
这样类推




------解决方案--------------------
错了,是单链表,写成循环了。