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

Python031

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

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

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

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

c语言中*p=&a和p=&a只有一个区别就是指针初始化时间不同。

p=&a:P是1维指针;

*p=&a:P是2维指针;

p=&a示例:

inta

int*p

a=5

p=&a

printf("valueis:%d.",*p)

扩展资料

*p=&a的使用

int a, b, c

int **p

a = 5

b = 6

c = 7

p = (int **)malloc(EL_CNT * sizeof(int *))

*p = &a

*(p + 1) = &b

*(p + 2) = &c

for(int i = 0i <EL_CNTi++)

printf("value is : %d\n", **(p + i))