sizeof
是C語言中的一個運算符,其作用是計算數據類型或變量所占用的內存空間大小(以字節為單位)。sizeof
可以用于獲取各種數據類型(如整型、浮點型、字符型、結構體、聯合體等)或對象(包括數組、指針等)的大小。
例如:
int a = 10;
float b = 2.5;
char c = 'A';
struct Student {
int id;
float score;
};
printf("%zu, %zu, %zu\n", sizeof(a), sizeof(b), sizeof(c)); // 輸出:4, 4, 1
printf("%zu\n", sizeof(struct Student)); // 輸出:8(假設int占4字節)
需要注意的是,sizeof
運算符返回的是編譯時確定的大小,與變量在運行時的值無關。此外,sizeof
還可以用于計算數組的大小,但需要注意數組的類型和維數。對于一維數組int arr[10]
,sizeof(arr)
返回的是整個數組所占用的字節數,即10 * sizeof(int)
。對于二維數組int arr[3][4]
,sizeof(arr)
返回的是整個數組所占用的字節數,即3 * 4 * sizeof(int)
。