# C語言教學05 - sizeof運算 ## 撰寫於2018年9月 [現代C語言小心得](https://hackmd.io/s/HJPpJjvw7) ## sizeof運算子 **sizeof**運算子是一個「一元運算子」,可以得到型別占用的位元組大小。此運算之結果型別為**size_t**,其實就是個無號整數(**unsigned long long**)。用法(**sizeof(型別)**、或 **sizeof 常量**) ```C= #include <stdio.h> int main() { printf("sizeof 13: %zd\n", sizeof 13); printf("sizeof(13): %zd\n", sizeof(13); printf("sizeof 5L: %zd\n", sizeof 5L); printf("sizeof(5L): %zd\n", sizeof(5L)); printf("sizeof 8ULL: %zd\n", sizeof 8ULL); printf("sizeof(8ULL): %zd\n", sizeof(8ULL)); printf("sizeof(int): %zd\n", sizeof(int)); printf("sizeof(double): %zd\n", sizeof(double)); printf("sizeof(long int): %zd\n", sizeof(long int)); printf("sizeof(char): %zd\n", sizeof(char)); } ``` 運行結果(你的結果不一定和我一樣,因為這個東西是和電腦架構相關的) ``` sizeof 13: 4 sizeof(13): 4 sizeof 5L: 8 sizeof(5L): 8 sizeof 8ULL: 8 sizeof(8ULL): 8 sizeof(int): 4 sizeof(double): 8 sizeof(long int): 8 sizeof(char): 1 ``` 以後在介紹其他資料型態的時候,也會順便介紹那個資料型態在**sizeof**運算下的結果。