我是靠谱客的博主 安详刺猬,最近开发中收集的这篇文章主要介绍关于单链表结构体定义结点时 LNode *LinkList的理解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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的理解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部