Typedef
维基百科,自由的百科全书
在C和C++程式語言中,typedef是一個關鍵字。它用來對一個資料類型起一個新名字。目的是為了使原始碼更易於閱讀和理解。
來看以下程式碼︰
int coxes, jaffa; ... coxes++ ... if (jaffa == 10) ...
現在來看以下程式碼︰
typedef int Apples, Oranges; Apples coxes; Oranges jaffa; ... coxes++ ... if (jaffa == 10) ...
這兩段程式碼都做同樣的一件事。第二個例子使用了 typedef,使其更易於了解將要進行什麼。也就是一個變數包含關於蘋果的資訊,而另一個包含關於橘子的資訊。
再來一個例子︰
struct var { int data1; int data2; char data3; };
此處使用者定義一個資料類型 var。
像這樣建立一個 var 類型的變數,程式碼必須寫為(注意,在 C++ 中宣告一個 struct 時,同時也隱含了 typedef,C 則沒有)︰
struct var a;
在例子的最末處加入一行語句︰
struct var { int data1; int data2; char data3; }; typedef struct var newtype;
現在要建立類型 var 的變數時,程式碼可以寫為︰
newtype a;
這樣就更容易閱讀了,因為不用再為每一個 var 類型的變數加上關鍵字 struct。
也可以給陣列使用 typedefs 宣告。
typedef BaseType NewType [arrSize];
這樣就可以在宣告一個 BaseType 類型和 arrSize 大小的新陣列時,將程式碼寫為︰
NewType array;
[编辑] 外部連結
- Cprogramming.com - 詳細的討論