s=p->next;与p->next=s的区别
时间: 2023-08-31 13:23:54 浏览: 237
next和nextline的区别
### 回答1:
`s=p->next` 是将 p 指向的节点的下一个节点的指针赋值给 s,即将节点 s 指向 p 后面的节点。
而 `p->next=s` 是将指针 p 指向的节点的下一个节点的指针指向 s,即将节点 s 插入到 p 后面。
两者的操作对象不同,前者是将指针赋值给普通变量,后者是将指针指向另一个节点。
### 回答2:
s=p->next表示将指针p指向的节点的下一个节点的地址赋值给了指针s。
而p->next=s表示将指针s的值赋值给了指针p指向的节点的下一个节点的地址。
简而言之,s=p->next是将p指向的节点的下一个节点的地址赋值给了s,而p->next=s是将s的值赋值给了p指向的节点的下一个节点的地址。
以链表结构为例,假设链表结构为A->B->C,其中p指向节点A,s为一个指针。
若执行s=p->next,则s将指向B节点,表示将p指向的节点A的下一个节点的地址赋值给了s。
若执行p->next=s,则节点A的next指针将指向s所指向的节点,即B节点的地址,这样节点A就和节点B相连,链表变为A->B->B->C。
综上所述,s=p->next表示将指针p指向的节点的下一个节点的地址赋值给了指针s,而p->next=s表示将指针s的值赋值给了指针p指向的节点的下一个节点的地址。在链表结构中,两者的效果是不同的。
### 回答3:
s=p->next表示s指向了p的下一个节点,即s为p下一个节点的地址。
p->next=s表示p的下一个节点指向了s,即p指向了s。
两者的区别在于对指针p和其下一个节点的操作不同。前者是将p的下一个节点的地址赋值给了s,而后者是将s的地址赋值给了p的下一个节点。
这样对应的指针的指向关系也发生了改变。
阅读全文