程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> sizeof既是關鍵字,又是運算符(操作符),但不是函數!,sizeof運算符

sizeof既是關鍵字,又是運算符(操作符),但不是函數!,sizeof運算符

編輯:關於C語言

sizeof既是關鍵字,又是運算符(操作符),但不是函數!,sizeof運算符


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後面的括號可以去掉嗎?如果是具體的量,無論常量還是變量,都可以直接寫 sizeof 量,但如果是對類型進行運算,則必須加括號:

       運行結果:       注意上圖出現的異常情況,這說明:sizeof面對直接量比如'A'、65等時,會將其默認轉換為int類型計算,如果需要計算char或者short的直接常量大小,需要強制轉換。

小結

       對語法存疑時,其發布的標准文檔是最具說服力的解釋文件。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved