1. 程式人生 > >C語言中關於typedef的瞭解

C語言中關於typedef的瞭解

C中關於typedef的瞭解

C語言支援一種叫做typedef的機制,它允許你為各種資料型別定義新名字。typedef宣告的寫法和普通的宣告基本相同,只是把typedef這個關鍵字出現在宣告 的前面。
例如:

char   *ptr_to_char;

把變數ptr_to_char宣告為一個指向字元的指標。但是,在新增關鍵字typedef後。宣告變為:

typedef  char   *ptr_to_char;

這個宣告把識別符號ptr_to_char作為指向字元的指標型別的新名字。我們可以像使用任何預定義名字一樣在下面的宣告中使用這個新名字。
例如:

ptr_to_char    a;

宣告a是一個指向字元的指標。
使用typedef宣告型別可以減少使宣告變得又臭又長的危險,尤其是我們現在或者以後要接觸的一些複雜的宣告。而且,如果你以後覺得應該修改程式所使用的一些資料型別時,修改一個typedef宣告比修改程式中與這種型別有關的所有變數(和函式)的所有宣告要容易的多。

提示:

我覺得我們應該使用typedef而不是#define來建立新的型別名,因為後者無法正確地處理指標型別。例如:

#define d_ptr_to_char  char*
d_ptr_to_char   a,b;

這個過程中我們正確聲明瞭a,但是b卻被宣告為一個字元。在定義更為複雜的型別名字時,如函式指標或指向陣列的指標,建議大家使用typedef更為合適哦。