C语言中p=p->next;语句是什么意思?一般作用是什么?

Python029

C语言中p=p->next;语句是什么意思?一般作用是什么?,第1张

是指针之间的一种传递,一般在数据结构中的单链表里由应用,这条语句中的p一般指向一个结构体类型的数据,这种类型的数据通常表示节点;结构体里存放的是一些数据和记录下一个节点地址的指针变量next;这个next就好比链条一样,连接着一个个节点;在单链表里,数据是零散的,不像数组那样的顺序存储方式,每一个数据都有自己特定的位置,可以访问任何位置;单链表呢是通过一个记一个的方式把所有数据连起来的,当我们访问一条单链表的时候,必需从头节点开始,然而我们也只需要知道头结点的地址就好了;

比如这条语句p=p->next

假设p在这条语句之前是指向结构体类型a1的,而a1中的next存的是a2的地址,那么这条语句执行以后,p就指向了a2;

不是等效的。

p++

是将p所指向的位置,往后移动1个。

p=p->next

虽然在单链表中,也是后移的意思,但是,这个next是你自己定义的结构体或其他复合体的成员,next在c中根本不存在,

是编写者,自己定义的一个东西,相当于一个变量,你可以定义成next,你也可以定义成nex。

如果,你没有定义,就不能使用。