C-结构体中前后两个LNode和*LinkList的作用分别是什么?后面的LNode和*LinkList的异同点是什么?

发布于 2016-11-24 13:11:19 字数 140 浏览 2367 评论 5

typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

偏爱自由 2017-07-27 21:06:41

首先前面那个LNode是节点名称,自定义一个节点,里面包含数据和指想向下一个数据的指针。后面那个LNode是结构体名字,*LinkList是指向结构体的指针。

浮生未歇 2017-07-03 12:06:42

 //你应该是在学单链表吧,我猜你的结构体可能写错了,附上我的猜测,若没错请@一下
typedef struct LNode{ //此行的LNode是一个结构标签
ElemType data;
struct LNode *next;
}LNode,*LinkList; //此行的LNode是结构体struct LNode的一个别名
//*LinkList也是结构体struct LNode的一个别名
//换言之LinkList是结构体struct LNode类型的指针的别名
//也就是说 struct LNode *p;这条语句等同于LinkList p;

想挽留 2017-03-14 21:22:13

 typedef int ElemType
typedef struct node
{
ElemType data;
struct node *next; //*next为指向struct node结构体的指针
}Node,List; //Node(=struct node)为结构体变量名,*List为指向此结构体的指针类型(一般指向头结点)

夜无邪 2017-02-23 19:25:43

typedef struct LNode{
ElemType data;
struct LNode next; }LNode,*LinkList;
其中第一个LNode是定义的结构体数据结构类型名,第二个LNode是定义结构体的别名,而LinkList是指向该结构体变量的指针

归属感 2017-01-21 07:12:39

把代码改一下也许你就能看懂了。你的代码等价于:

struct LNode {
ElemType data;
struct LNode next;
};
typedef struct LNode LNode;
typedef struct LNode* LinkList;

LNode只是结构体struct LNode的简称、别名。
而LinkList则是指针类型,指向LNode(也就是struct LNode)的指针。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文