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