p=p->next表示修改指针p的位置,把p指向原来的下一个节点。->叫做结构体指针运算符,用来访问结构体内部成员。=号表示把右边的值赋给左边。
p=p->next含义是什么
p=p->next是表示修改指针p的位置,把p指向原来的下一个节点。
1、->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。
(资料图片仅供参考)
2、链表指针是C语言的一个难点,但也是重 点,学懂了非常有用。要仔细讲就必须先讲变 量、指针。
3、所谓变量,不要浅显的认为会变得量就是变量。套用我们院长的问话:“教室变不变?”变,因为每天有不同的人在里面上课,但又不变,因为教室始终在那,没有变大或变小。
p->next=p;和p=p->next;的区别
p->next=p表示节点p的下一个节点还是p,如果链表只有p节点,那么这样就变成了一个循环链表。
p=p->next表示修改指针p的位置,把p指向原来的下一个节点。
例如:q->next=p;p->next=null;q=p;
这个里面的q指向的永远是是要在当前节点添加下一个节点的那个节点
值得一提的是, p->next=p和p=p->next并不是一个意思,p->next=p表示节点p的下一个节点还是p,如果链表只有p节点,那么这样就变成了一个循环链表。
写链表时会使用到当p=p->next,用来寻找下一个节点p=p->next时,p原来的地址不会被覆盖。