c語言中typeof關鍵字

2021-06-23 01:47:48 字數 770 閱讀 7418

c語言中typeof關鍵字

下面這兩個等效宣告,用於宣告int類弄的變數a

typeof(int) a;

typeof('b') a; //相當於獲取'b'的型別,定義乙個變數a

下面用於宣告指標和陣列

typeof(int*) p1,p2;

typeof(p1) p2  //p1與p2的型別一致

int *p1,*p2;

typeof(int [10]) a1,a2;

int a1[10],a2[10];

如果將typeof用於表示式,則該表示式不會執行,只會得到表示式的型別,以下示例宣告了int型別的var變數,因為表示式foo()是int型別的,由於表示式不會被執行,所以不用呼叫foo()函式

extern int foo();

typeof(foo()) var; //相當於等同去int var;

使用typeof的宣告限制

typeof構造中的型別名不能包含儲存類說明符,如

extern或static.不過允許包含型別限定符,

如const或volatile.例如,下列**是無效的.因為它在typeof構造中宣告了extern;

typeof(extern int) a;

extern typeof(int) b;

typeof(char*const) p;//常指標,不能修改指標指向;

在巨集宣告中使用typeof

typeof構造的主要應用是用在巨集定義中。可以使用typeof關鍵字來引用巨集引數的型別。

C語言中的typeof關鍵字

typeof關鍵字是c語言中的乙個新擴充套件。typeof的引數可以是兩種形式 表示式或型別。下面是使用表示式的的例子 typeof x 0 1 這裡假設x是乙個函式指標陣列,這樣就可以得到這個函式返回值的型別了。如果將typeof用於表示式,則該表示式不會執行。只會得到該表示式的型別。以下示例宣告...

C語言中的typeof關鍵字

typeof關鍵字是c語言中的乙個新擴充套件。typeof的引數可以是兩種形式 表示式或型別。下面是使用表示式的的例子 typeof x 0 1 這裡假設x是乙個函式指標陣列,這樣就可以得到這個函式返回值的型別了。如果將typeof用於表示式,則該表示式不會執行。只會得到該表示式的型別。以下示例宣告...

C語言中的typeof關鍵字

typeof關鍵字是c語言中的一種新擴充套件,返回變數的型別。從本質上講,它更像是使用typedef定義乙個型別名稱。typeof 的引數可以是兩種形式 表示式或型別。1 下面是使用表示式的的例子 typeof x 0 1 這裡假設x是乙個函式指標陣列,這樣就可以得到這個函式返回值的型別了。如果將t...