typedef聲明類型

typedef聲明類型,聲明一個新的類型名來代替已有的類型

基本信息

使用f舉例

舉例一

typedef int INTEGER;//指定用標識符INTEGER代表int類型

typedef float REAL;//指定用REAL代表float類型

這樣,以下兩行等價:

① int i,j; float a,b;

② INTEGER i,j; REAL a,b;

舉例二

在一個程式中,整型變數是專門用來計數的,可以用COUNT來作為整型類型名:

typedef int COUNT;//指定用COUNT代表int型

COUNT i,j;//將變數i,j定義為COUNT類型,

即int類型在程式中將變數i,j定義為COUNT類型,可以使人更一目了然地知道它們是用於計數的。

舉例三

也可以聲明結構體類型:

typedef struct//注意在struct之前用了關鍵字typedef,表示是聲明新名

{ int month; int day; int year; }DATE;//注意DATE是新類型名,而不是結構體變數名

所聲明的新類型名DATE代表上面指定的一個結構體類型。這樣就可以用DATE定義變數:

DATE birthday; DATE *p;//p為指向此結構體類型數據的指針

還可以進一步:

① typedef int NUM[100];//聲明NUM為整型數組類型,包含100個元素NUM n;//定義n為包含100個整型元素的數組

② typedef char *STRING;//聲明STRING為字元指針類型STRING p,s[10];//p為字元指針變數,s為指針數組(有10個元素)

③ typedef int (*POINTER)( )//聲明POINTER為指向函式的指針類型,函式返回整型值POINTER p1,p2;// p1,p2為POINTER類型的指針變數

聲明方法

① 先按定義變數的方法寫出定義語句(如int i;)。

② 將變數名換成新類型名(如將i換成COUNT)。

③ 在最前面加typedef(如typedef int COUNT)。

④ 然後可以用新類型名去定義變數。

再以聲明上述的數組類型為例來說明:

① 先按定義數組形式書寫: int n[100];

② 將變數名n換成自己指定的類型名:

int NUM[100];

③ 在前面加上typedef,得到

typedef int NUM[100];

④ 用來定義變數: NUM n;(n是包含100個整型元素的數組)。

習慣上常把用typedef聲明的類型名用大寫字母表示,以便與系統提供的標準類型標識符相區別。

總結

(1) typedef可以聲明各種類型名,但不能用來定義變數。用typedef可以聲明數組類型、字元串類型,使用比較方便。

(2) 用typedef只是對已經存在的類型增加一個類型名,而沒有創造新的類型。

(3) 當在不同源檔案中用到同一類型數據(尤其是像數組、指針、結構體、共用體等類型數據)時,常用typedef聲明一些數據類型,把它們單獨放在一個頭檔案中,然後在需要用到它們的檔案中用#include命令把它們包含進來,以提高編程效率。

(4) 使用typedef有利於程式的通用與移植。有時程式會依賴於硬體特性,用typedef便於移植。

(5) 使用typedef增加類型名時,原則上沒有個數限制。

相關詞條

相關搜尋

熱門詞條

聯絡我們