在C语言链表中,p=q->next和p->next=q->next有什么区别?

2025-03-21 20:39:23
推荐回答(3个)
回答(1):

给你普及下指针的真谛:
假设两个链表节点的内存地址分别为AAAA和BBBB,节点内偏移4字节处保存名为next的指针,
p = 0xAAAA,q=0xBBBB,这说明p和q分别指向这两个节点。
p->next是内存AAAE处的内容,q->next是内存BBBF处的内容(假设为CCCC)
那么, p = q->next 即p=0xCCCC
p->next = q->next,即将内存AAAE处的内容改为CCCC
两值意义相差甚远。

回答(2):

p=q—>next的意思是把p结点接到q结点后面,p—>next=q—>next的意思是把q结点的下一个结点接到p结点后。

回答(3):

我想了一个晚上,这是我的思考成果。