1、typedef的最簡(jiǎn)單使用

typedef long byte_4;

  給已知數(shù)據(jù)類型long起個(gè)新名字,叫byte_4。

  2、 typedef與結(jié)構(gòu)結(jié)合使用

typedef struct tagMyStruct
{
 int iNum;
 long lLength;
} MyStruct;

  這語(yǔ)句實(shí)際上完成兩個(gè)操作:

  1) 定義一個(gè)新的結(jié)構(gòu)類型

struct tagMyStruct
{
 int iNum;
 long lLength;
};

  分析:tagMyStruct稱為“tag”,即“標(biāo)簽”,實(shí)際上是一個(gè)臨時(shí)名字,struct 關(guān)鍵字和tagMyStruct一起,構(gòu)成了這個(gè)結(jié)構(gòu)類型,不論是否有typedef,這個(gè)結(jié)構(gòu)都存在。

  我們可以用struct tagMyStruct varName來(lái)定義變量,但要注意,使用tagMyStruct varName來(lái)定義變量是不對(duì)的,因?yàn)閟truct 和tagMyStruct合在一起才能表示一個(gè)結(jié)構(gòu)類型。

  2) typedef為這個(gè)新的結(jié)構(gòu)起了一個(gè)名字,叫MyStruct。

typedef struct tagMyStruct MyStruct;

  因此,MyStruct實(shí)際上相當(dāng)于struct tagMyStruct,我們可以使用MyStruct varName來(lái)定義變量。