sizeof是關鍵字嗎
sizeof是關鍵字,這一點毋庸置疑。你不能將sizeof定義為任何標識符。查看C語言標准文檔里的說明:
sizeof是運算符(操作符)嗎
C語言中,sizeof是運算符(操作符),而且是唯一一個以單詞形式出現的運算符,它用來計算存放某一個量需要占用多少字節,它的結合性是從右到左。查看C語言標准文檔里的說明:
sizeof是函數嗎
sizeof不是函數。產生這樣的疑問主要是因為有時候sizeof的外在表現確實有點類似函數,比如:i = sizeof(int);這樣的式子,就很容易讓人誤以為sizeof是一個函數呢。但如果sizeof是函數,那么sizeof i;(假設i為int變量)這種式子一定不能成立,因為函數的參數不可能不用括號括起來。事實上這個sizeof i;可以正常運行,這就說明sizeof絕對不是函數。
sizeof用法
sizeof頂着關鍵字的光環,發揮着(單目)運算符的作用。它主要用來計算某一個量在當前系統中所需占用的字節數:
常用類型大小測試:
普通變量大小測試:
常量大小測試:
注:計算sizeof('A');時,在C語言中這會發生隱式類型轉換,將字符'A'轉換為整型,但在C++中不會轉換,sizeof('A')的值仍為1。
一維數組大小測試:
多維數組大小測試:
指針大小測試:
字符串大小測試:
小結
對語法存疑時,多查資料,以官方標准文檔為准,並上機測試。