(*p).next=s;(*s).next=(*p).next;是什么意思
时间: 2023-09-03 13:25:42 浏览: 39
### 回答1:
这段代码有错误,应该是:
```
(*p).next = s;
(*s).next = p->next;
```
意思是将指针p所指向的节点的下一个节点指向s节点,而将s节点的下一个节点指向原先p节点所指向的下一个节点。其中,"*"表示对指针所指向的对象的引用操作。
### 回答2:
根据给出的代码,“(*p).next=s;”这行代码的意思是将指针p所指向的结构体的next指针指向结构体s。这行代码将p所指向的结构体的next指针重新赋值为s,意味着p所指向的结构体的下一个结点是结构体s。
而“(*s).next=(*p).next;”这行代码的意思是将指针s所指向的结构体的next指针指向p所指向的结构体的下一个结点。这行代码将s所指向的结构体的next指针重新赋值为p所指向的结构体的next指针,意味着s所指向的结构体的下一个结点与p所指向的结构体的下一个结点相同。
总结起来,这两行代码的含义都是将结构体的next指针指向相应的结点,用来建立链表或者修改链表的指向关系。
### 回答3:
这两行代码的含义是:将指针p所指向的节点的下一个节点指针设为指针s所指向的节点,同时将指针s所指向的节点的下一个节点指针设为指针p所指向的节点。
实际上,这两行代码实现了两个节点的互换。首先,(*p).next=s;将指针p所指向的节点的下一个节点指针指向了指针s所指向的节点,这样就将节点s插入到了p后面。然后,(*s).next=(*p).next;将指针s所指向的节点的下一个节点指针指向了指针p所指向的节点的下一个节点,使得指针s所指向的节点与指针p原本指向的节点的下一个节点连接在一起。
通过这样的操作,可以实现对链表中节点的插入和互换,改变节点之间的连接关系,进而改变链表的结构。