typeof關鍵字的作用

2022-06-15 18:48:09 字數 832 閱讀 6244

前言:

typeof關鍵字是c語言中的乙個新擴充套件,這個特性在linux核心中應用非常廣泛。(其實這和c++的auto關鍵字和可以推斷decltype關鍵字相當類似)

1,把y定義成x指向的資料型別:

typeof(*x) y;

2,把y定義成x指向資料型別的陣列:

typeof(*x) y[4];

3,把y定義成乙個字元指標陣列:

typeof(typeof(char *)[4] y;

這與下面的定義等價:

char *y[4];

4,typeof(int *) p1,p2; /* declares two int pointers p1, p2 */

int *p1, *p2;

5,typeof(int) *p3,p4;/* declares int pointer p3 and int p4 */

int *p3, p4;

6,typeof(int [10]) a1, a2;/* declares two arrays of integers */

int a1[10], a2[10];

typeof構造中的型別名不能包含儲存類說明符,如externstatic。不過允許包含型別限定符,如constvolatile。    例如,下列**是無效的,因為它在typeof構造中宣告了extern:

typeof(extern int) a;

1,   

2,

typeof關鍵字簡介

typeof關鍵字是c語言中的乙個新擴充套件。只要可以接受typedef名稱,sun studio c 編譯器就可以接受帶有typeof的結構,包括以下語法類別 宣告函式宣告符中的引數型別鍊錶和返回型別 型別定義 型別操作符s sizeof操作符 復合文字 typeof實參 編譯器接受帶雙下劃線的關...

typeof關鍵字簡介 rtti

typeof 關鍵字是c語言中的乙個新擴充套件。只要可以接受typedef 名稱,sun studio c 編譯器就可以接受帶有typeof 的結構,包括以下語法類別 編譯器接受帶雙下劃線的關鍵字 typeof 和 typeof 本文中的例子並沒有遵循使用雙下劃線的慣例。從語句構成上看,typeof...

C語言的typeof關鍵字

c語言中typeof關鍵字,是c語言中的乙個新擴充套件。typeof的引數可以是兩種形式 表示式或型別。下面這兩個等效宣告,用於宣告int類的變數a typeof int a typeof b a 相當於獲取 b 的型別,定義乙個變數a gcc中這個表示式的型別是int 自動提公升為int 注意ty...