typedef是爲現有的類型起一個別名,使使用起來更加的方便,注意一點,它並沒有產生新的類型。
typedef int BOOL;爲int型起了一個新的別名BOOL。例如下邊的代碼,BOOL爲int的別名,然後就可以直接使用了。
typedef int BOOL;
#define TRUE 1
#define FALSE 0
BOOL flag = TRUE;
在結構體中的用法
typedef struct student{
char cName[20];//姓名
int iNumber;//電話號碼
struct student *next;//指向下一個節點
} LinkList;
LinkList *head;
以上定義了一個新的結構體student,並將結構體起了一個新的別名LinkList。其實不用typedef也是可以的,如下邊的代碼
struct student{
char cName[20];//姓名
int iNumber;//電話號碼
struct student *next;//指向下一個節點
}
struct student *head;
不用typedef,定義變量時需要加上struct student,比較麻煩。
關於結構體指針,如下代碼
typedef struct student{
char cName[20];//姓名
int iNumber;//電話號碼
struct student *next;//指向下一個節點
}*LinkList;
LinkList head;
這個是定義 struct student{}*的別名爲LinkList,而不是struct student{}的別名爲*LinkList,所以下邊定義指針可以直接這樣使用。