typedef struct LNode命名结构指针(线性表的链式存储)

一、typedef 关键字

1. 简介:

    typedef工具是一个高级数据特性,利用typedef可以为某一些类型自定义名称。

2. 工作原理:

   例如我们定义链表的存储结构时,需要定义结点的存储数据元素的类型,如定义一个 int 类型的ElemType,我们可以在定义前    面加上关键字typedef即可:

typedef int ElemType;

随后我们便可以用ElemType来定义上述数据元素的类型了:

ElemType data;

二、对下述结构指针定义的理解

typedef int ElemType; 

/*****存储结构*****/
typedef struct LNode
{
     ElemType data;
     struct LNode *next;
}LNode,*LinkList;

LNode和*LinkList与关键字typedef配合使用,即给声明的结构体起一个别名LNode, 与此同时起一个指针别名LinkList,然后可以用下面方法声明变量:

LNode L;    //声明一个struct LNode型变量L
                  //等价于 struct LNode L;显然上述比较简单
LinkList Ptrl;  //声明一个struct LNode* 型指针变量Ptrl
                     //等价于写 struct LNode *Ptrl, 同样上述表示比较简单

另外关于单链表存储结构定义的另一表示方法,自行与上面的定义方式比较,注意区别:

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

struct LNode L;
List PtrL;

节点示意图如下:

原文地址:https://www.cnblogs.com/ilym/p/8732887.html