c++链表中,fence=fence->next,指针fence->next是什么意思一般学过的是int b= 1;int *p=b;是在无法理解指针再指向指针是什么意思,不能直接写成fence=next吗?为什么还要写成fence=fence->next

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 11:21:56
c++链表中,fence=fence->next,指针fence->next是什么意思一般学过的是int b= 1;int *p=b;是在无法理解指针再指向指针是什么意思,不能直接写成fence=next吗?为什么还要写成fence=fence->next

c++链表中,fence=fence->next,指针fence->next是什么意思一般学过的是int b= 1;int *p=b;是在无法理解指针再指向指针是什么意思,不能直接写成fence=next吗?为什么还要写成fence=fence->next
c++链表中,fence=fence->next,指针fence->next是什么意思
一般学过的是
int b= 1;
int *p=b;
是在无法理解指针再指向指针是什么意思,
不能直接写成fence=next吗?为什么还要写成fence=fence->next

c++链表中,fence=fence->next,指针fence->next是什么意思一般学过的是int b= 1;int *p=b;是在无法理解指针再指向指针是什么意思,不能直接写成fence=next吗?为什么还要写成fence=fence->next
next是指向下一个节点的指针.
fence是指向当前节点的指针.
这两个指针在一起,构成一个节点.
不是指针再指向指针,是指针给指针赋值,指针变量的内容是一个地址值.
一个指针被另一个指针赋值,就是说被赋值的指针的内容被赋予了新的地址值,这个地址和给他赋值的指针所指向的地址相同.
就是说,两个指针指向了同一个地址.
那么fence->next就是说fence的next.
fence指向当前节点,当前节点有个指针next,指针next指向下一个节点,它也是下一个节点的fence指针.
那么回去看fence=fence->next就是说fence指针,被他自己所指向的节点的next指针赋值了.这个next指针指向fence指向的节点的下一个节点.所以,fence指向了它的下一个节点.
直接fence=next的话,这个next是哪个节点的next?