线性表的链式存储,下面这段代码typedef struct Node{
ElemType e;
struct Node *next;
}Node,*LinkList;LinkList p和Node p有什么区别
2 回答
九州编程
TA贡献1785条经验 获得超4个赞
如果你理解int a与int *a的区别,再理解了typedef int ElemType 你就可以理解上面例子。
typedef struct Node{
ElemType e;
struct Node *next;
} Node, *LinkList;首先从外层看,typedef [] *** 就是把[] 中的类型重新定义成以***表示;
例子中的意思就是说,中间的结构体类型变量struct Node{***} 在这里可以用Node和*LinkList来表示了。并且,
当需要声明Node变量时,就可以用 Node p来声明;等同于 struct Node p
当需要声明Node指针变量时,就可以用LinkList p来声明;等同于 struct Node *p
再看中间的结构体定义:
定义了一个别名为Node的结构体类型:
这个结构体由一个ElemType类型的变量e和一个当前结构体类型指针 *next构成
而后你声明的每一个该结构体类型的变量中都包含这两个元素。
慕雪6442864
TA贡献1812条经验 获得超5个赞
LinkList是指针类型,Node是结构体类型.LinkList 指针类型的变量的使用可以用 (*p).e 或者 p->e,Node类型变量使用可以用 p.e.
- 2 回答
- 0 关注
- 777 浏览
添加回答
举报
0/150
提交
取消
