typedef是c語言和資料結構,尤其是資料結構中比較常見的的關鍵字,typedef主要用來進行型別定義,即為型別重新命名。typedef進行型別定義可以簡單總結為以下幾個方面:
一:使用typedef定義基本資料型別
typedef 使用比較多的是多乙個資料型別進行命名,即型別重新命名。在進行資料型別重新命名時,typedef作用是進行簡單的型別名替換,例如:
typedef int
int;
int x, y;
將整形資料型別 int 使用typedef關鍵字定義為int,就可以使用int 進行資料定義,使用int定義資料的用法和int 完全相同。
int x, y; //等價於int x,y;
基本資料型別例如:int,float,double,char,enum…等等都可以使用typedef進行型別重新命名。
二:使用typedef定義構造型別
typedef除了可以對基本資料型別進行重新命名外還可以對相對較複雜的資料型別構造型別(例如:陣列型別,結構體型別,共用體型別)進行型別定義。例如:定義乙個型別名代表乙個結構體型別。
typedef
struct
student;
將乙個結構體定義為student。就可以用student定義結構體型別變數。
student student1, student2;
但如果不使用typedef 關鍵字,則struct關鍵字後面必須跟上結構體型別名,結構體的定義為:
struct student
;
可以使用定義的結構體型別來定義變數。例如:
struct student student1, student2; //struct 不能省略
當然也可以在結構體型別的同時定義結構體變數,定義共用體和列舉型別和定義結構體相同。
使用typedef定義陣列型別
使用typedef定義陣列型別和定義基本資料型別用法基本相同,例如:
typedef int
array[10];
array a, b;
定義array為整形陣列,a,b為array型別的陣列。
三:使用typedef定義指標型別
例如:
typedef char*string;
string p1, p2, p[10];
定義string 為char型指標,然後就可以使用string定義變數,p1,p2為字元型指標,p為字元指標陣列。
使用typedef定義型別,是對資料型別進行命名,或為已有的資料型別命名別名。然後就可以使用這個別名進行定義變數,使用typedef 型別定義變數與直接用資料型別定義變數效果相同。
列舉 typedef關鍵字
1 列舉型別介紹及定義 目前為止接觸到的資料型別 基本資料型別 指標型別 空型別 void 構造型別 陣列 結構體 列舉型別 a 列舉型別 列舉型別定義的一般形式 enum 列舉型別名 在列舉值中應羅列出所有可用值。這些值也稱為列舉單元。列舉型別是一種基本型別,而不是一種構造型別,因為它不能再分解任...
關鍵字static和typedef
1.static 修飾區域性變數時,相當於改變了其生命週期,但不改變作用域 2.static 修飾全域性變數,代表該變數僅在本檔案內有效 沒有static 修飾 全域性變數 宣告之後支援跨檔案引用 3.static 修飾函式,該函式只在本檔案內被呼叫或訪問,不能跨檔案訪問 函式本身在另乙個檔案 宣告...
(C語言)typedef關鍵字
typedef 定義 c 語言提供了typedef關鍵字,您可以使用它來為型別取乙個新的名字。下面的例項為單位元組數字定義了乙個術語byte typedef unsigned char byte 在這個型別定義之後,識別符號 byte 可作為型別unsigned char的縮寫,例如 byte b1...