typedef工具是一个高级数据特性,利用typedef能够为某一些类型自定义名称。工具
例如咱们定义链表的存储结构时,须要定义结点的存储数据元素的类型,如定义一个 int 类型的ElemType,咱们能够在定义前 面加上关键字typedef便可:spa
typedef int ElemType;
随后咱们即可以用ElemType来定义上述数据元素的类型了:指针
ElemType data;
typedef int ElemType; /*****存储结构*****/ typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList;
LNode和*LinkList与关键字typedef配合使用,即给声明的结构体起一个别名LNode, 与此同时起一个指针别名LinkList,而后能够用下面方法声明变量:
code
LNode L; //声明一个struct LNode型变量L //等价于 struct LNode L;显然上述比较简单
LinkList Ptrl; //声明一个struct LNode* 型指针变量Ptrl //等价于写 struct LNode *Ptrl, 一样上述表示比较简单
另外关于单链表存储结构定义的另外一表示方法,自行与上面的定义方式比较,注意区别:blog
typedef struct LNode *List struct LNode { ElemType data; List next; }; struct LNode L; List PtrL;
节点示意图以下:class