概述
typedef struct LNode{
ElemType data; //数据域
struct LNode *next; //指针域
}LNode, *LinkList
先说结论,这个就可以直接理解为
第一个是便于定义变量的类型为LNode,如果没有使用typedef,定义时就需要写 struct LNode LNode;
第二个是便于定义指向LNode这个类型的指针
其还有一个作用:
LNode * 一般强调的是返回的是一个结点
LinkList 一般强调的是这是一个单链表
比如在上面这个栗子中
举个栗子:
在表示一个单链表时,只需声明一个头指针L,指向单链表的第一个结点(也就是头结点)
LNode *L //声明一个指向单链表第一个节点的指针
LinkList L //和上面功能相同
可以看到,很明显用LinkList使得代码可读性更强了。
typedef的作用就是为类型添加别名,可以增加代码的扩展性,特别是在有时候类型需要用通用的ElemType去泛指的时候,其就达到了一种解耦的效果,这里还需要注意的是其需要与结构体变量区分开来,结构体变量并不是定义的别名.
例如,对于这个代码
struct LNode{
ElemType data; //数据域
struct LNode *next; //指针域
}LNode
就等于 Struct LNode LNode; 等同于定义了一个LNode类型的变量,名为 LNode.
最后
以上就是安详刺猬为你收集整理的关于单链表结构体定义结点时 LNode *LinkList的理解的全部内容,希望文章能够帮你解决关于单链表结构体定义结点时 LNode *LinkList的理解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复