注册 登录
编程论坛 C语言论坛

c语言结构体p=p->next;

Gloria_zhang 发布于 2020-11-25 14:52, 1381 次点击
程序代码:
#include<stdio.h>
#include<stdlib.h>
struct Node
{
char data;
struct Node *next;
};
void main()
{
struct Node *p,*q,*r;
p=(struct Node *)malloc(sizeof(struct Node));
q=(struct Node *)malloc(sizeof(struct Node));
r=(struct Node *)malloc(sizeof(struct Node));
p->data='A';p->next=q;
q->data='B';q->next=NULL;
r->data='C';r->next=NULL;
r->next=p->next;p->next=r;
while(p!=NULL)
{
printf("%c",p->data);
p=p->next;
}
printf("\n");
}




p=p->next;请问大家这句代码是指针后移的语句吗
1 回复
#2
请输入密码2020-11-25 19:46
链表,地址不连续。
看指针后移怎么理解。
p=p++,这个就是指针指向后移了一个单位。
p=p->next,这个是把p的指向值赋予给p->next。
意思就是说,指针指向下一个“链表单元”。
1