在C語言中,sizeof
是一個運算符,用于計算數據類型或變量所占用的內存大小(以字節為單位)。sizeof
關鍵字在不同數據類型上的表現如下:
基本數據類型:
int
:通常占用4個字節,但具體取決于編譯器和平臺。float
:通常占用4個字節,但具體取決于編譯器和平臺。double
:通常占用8個字節,但具體取決于編譯器和平臺。char
:通常占用1個字節,但具體取決于編譯器和平臺。short
:通常占用2個字節,但具體取決于編譯器和平臺。long
:通常占用4個字節,但具體取決于編譯器和平臺。在32位系統中,long
通常占用4個字節;在64位系統中,long
可能占用8個字節。long long
:通常占用8個字節,但具體取決于編譯器和平臺。枚舉類型(enum
):
int
,那么枚舉類型的大小通常與int
相同。指針類型:
結構體(struct
)和聯合體(union
):
數組類型:
int arr[10]
的大小為10 * sizeof(int)
。函數指針:
需要注意的是,sizeof
運算符返回的是編譯時確定的內存大小,與運行時的具體值無關。此外,sizeof
可以用于計算變量、數組、指針、結構體、聯合體等類型的大小。