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 ...