1、typedef的最簡(jiǎn)單使用
給已知數(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)定義變量。