在链表中struct node *next中的*next是什么意思呀,指针为什么可以这么使用呀

如题所述

*next是链表节点指向下一个节点的指针,用来存放下一个节点的地址域。这是链表的一种固定结构。

例如:

typedef struct node

{

int data;

struct node *next;

}stacknode,*linkstack;

typedef将stacknode定义成了结构体类型,将linkstack定义成了指向结构体stacknode的指针类型,它们现在都是一种类型了(同基本类型int等一样),当然可以用它们来定义变量。

至于为什么定义指针域要用struct node *next;而不能用stacknode *next;或linkstack next;因为定义指针域在上面,而定义类型是在下面。在定义指针域的时候,stacknode和linkstack还都不是一种类型。

扩展资料:

注意事项

这是c语言中的结构体的问题,struct student是结构体类型名,是定义了一个名为student的结构体的意思,struct是结构体中的关键字。a代表的是结构体变量名,在结构体里面不是可以定义结构体成员。

如:int sum;这样你可以在下面直接表示成a.sum 表示sum是结构体变量a中的一个成员名,同时也可以赋值给sum struct student *next表示的是结构体中的指向student中的一个指针变量。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-17

next 英文词的意思 是 “下一个”。

链表里用于指向下一个节点的指针,也就是指向下一个(节点)结构类型的指针。

struct node {} 是一种结构,有两个成员,一个成员是 int 数据,另一个是指向下一个 node 结构的指针。

next 是变量名字,你当然也可以改用别的名字例如:

struct node {int d; struct node *xyg;};

汉语拼音 xyg 替代 next。

扩展资料:

相关注意事项如下:

这是c语言中的结构体的问题,struct student是结构体类型名,是定义了一个名为student的结构体的意思,struct是结构体中的关键字。a代表的是结构体变量名,在结构体里面不是可以定义结构体成员。

如:int sum;这样你可以在下面直接表示成a.sum 表示sum是结构体变量a中的一个成员名,同时也可以赋值给sum struct student *next表示的是结构体中的指向student中的一个指针变量。

本回答被网友采纳
第2个回答  推荐于2017-06-07
next 英文词的意思 是 “下一个”。
链表里 用于 指向下一个节点的指针,也就是指向下一个(节点)结构类型的指针。
struct node {} 是一种结构,有两个成员,一个成员是 int 数据,另一个是指向下一个 node 结构的指针。
next 是变量名字,你当然也可以改用别的名字例如:
struct node {int d; struct node *xyg;};
用汉语拼音 xyg 替代 next。本回答被网友采纳
第3个回答  2015-03-10
*next是链表节点指向下一个节点的指针,用来存放下一个节点的地址域
这是链表的一种固定结构
第4个回答  2022-07-26
声明成指针,你才能访问到结构体里的东西
相似回答