1.原因

p->next 理解有误,大多是对 c 语言中的结构体的理解有误,建议看完本文章,去自行复习一下。

2.理解

在结构体中 由数据域、指针域组成

struct node
{
int data; //数据域
struct node * next;//指针域
}node;

3.实例

在数据结构中  线性表的插入(头插法或者尾插法)中通常使用的交换语句

s->next = p->next;
p->next = s;

第一段代码的意思是 :p  指针指向的节点的指针域指向下一个节点的地址 赋值 给 s指针所指向的节点的指针域指向的下一个节点的地址通俗的说:就是将插入的 节点s 的指针域指向 原先p指针指向的节点的地址

第二段代码的意思是:将s指针所指向的节点的地址赋值给 p指针所指向的节点(结构体)的指针域的指针域所指向下一个节点的地址通俗的说:就是将p节点(p指针所指向的节点)的指针域指向s指针所指向的节点) 

 最后抱怨一句:现在在csdn里查找资料,就是在垃圾堆里找吃的,很多博主说文章.....还是建议自己多看看书

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐