最冤枉的關鍵字 sizeof

2021-07-10 11:16:36 字數 627 閱讀 2262

sizeof 是關鍵字不是函式,其實就算不知道它是否為32 個關鍵字之一時,我們也可以

借助編譯器確定它的身份。看下面的例子:

int i=0;

a),sizeof(int); b),sizeof(i); c),sizeof int; d),sizeof i;

毫無疑問,32 位系統下a),b)的值為4。那c)的呢?d)的呢?

在32 位系統下,通過visual c++6.0 或任意一編譯器除錯,我們發現d)的結果也為4。

咦?sizeof 後面的括號呢?沒有括號居然也行,那想想,函式名後面沒有括號行嗎?由此輕

易得出sizeof 絕非函式。

好,再看c)。編譯器怎麼怎麼提示出錯呢?不是說sizeof 是個關鍵字,其後面的括號

可以沒有麼?那你想想sizeof int 表示什麼啊?int 前面加乙個關鍵字?型別擴充套件?明顯不

正確,我們可以在int 前加unsigned,const 等關鍵字但不能加sizeof。好,記住:sizeof 在

計算變數所佔空間大小時,括號可以省略,而計算型別(模子)大小時不能省略。一般情況下,

咱也別偷這個懶,乖乖的寫上括號,繼續裝作乙個「函式」,做乙個「披著函式皮的關鍵字」。

做我的關鍵字,讓人家認為是函式去吧。

簡記關鍵字sizeof

sizeof 是計算分配記憶體的大小,是c語言中保留關鍵字,也可以認為是一種運算子,單目運算子。但是最好不要把sizeof當成函式,也不要看作一元操作符,把他當成乙個特殊的編譯預處理。sizeof typename sizeof 型別 sizeof objict sizeof物件 strlen執行的...

關鍵字 sizeof(不是函式)

關鍵字 sizeof 不是函式 sizeof是關鍵字不是函式。sizeof在計算變數所佔空間大小時,括號可以省略,而計算型別 模子 大小時不能省略。include int getsize int data void fun int b 100 int main int a 100 int b 100...

C語言 sizeof 關鍵字

sizeof是c語言中保留關鍵字,也可以認為是一種運算子,單目運算子,可以計算運算元的大小。sizeof的結果是無符號整數型別,通常用size t表示。sizeof可以應用於各種資料型別,包括基本的資料型別,例如整數和浮點型別,指標型別和符合資料型別,結構體等等。32位編譯器 includeint ...