1、typedef爲C語言的關鍵字
作用:爲一種數據類型定義一個新名字。這裏的數據類型包括內部數據類型(int,char等)和自定義的數據類型(struct等)。
2、在編程中使用typedef目的一般有兩個:
1) 給變量一個易記且意義明確的新名字
2) 簡化一些比較複雜的類型聲明
3、應用
1) typedef的最簡單使用
例如: typedef long byte_4 ;
上述代碼實現的是:給已知的數據類型long起個新名字,叫byte_4。
2) typedef與結構結合使用
typedef struct Node { int num; struct Node *next; } LinkList ;
上述代碼實現的是:(1) 定義一個新的結構類型
typedef struct Node { int num; struct Node *next; };
(2) typedef爲這個新的結構起了一個名字,叫 LinkList
於是在聲明變量的時候就可表示爲:
如果沒有typedef就必須表示爲:LinkList 變量名;
struct Node 變量名;
總結:這裏的 LinkList 實際上就等價與 struct Node。
4、 應用
1) 鏈表的數據結構
typedef struct Node { int num; struct Node *next; } LinkList;
2) 創建鏈表LinkList *creat(int n)
LinkList *creat(int n) { LinkList *p,*q,*head; int i = 1; p = (LinkList *)malloc(sizeof(LinkList)); //動態內存分配 p -> num = i; head = p; for(i = 2; i <= n; i++) { q = (LinkList *)malloc(sizeof(LinkList)); q -> num = i; // ——>表示指向結構體成員 優先級最高 p -> next = q; p = q; } p -> next = head; /*使鏈表尾指向鏈表頭,形成循環鏈表*/ return head; }