sizeof
是C語言中的一個運算符,其作用是計算數(shù)據(jù)類型或變量所占用的內(nèi)存空間大?。ㄒ宰止?jié)為單位)。sizeof
可以用于獲取各種數(shù)據(jù)類型(如整型、浮點型、字符型、結(jié)構(gòu)體、聯(lián)合體等)或?qū)ο螅ò〝?shù)組、指針等)的大小。
例如:
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字節(jié))
需要注意的是,sizeof
運算符返回的是編譯時確定的大小,與變量在運行時的值無關(guān)。此外,sizeof
還可以用于計算數(shù)組的大小,但需要注意數(shù)組的類型和維數(shù)。對于一維數(shù)組int arr[10]
,sizeof(arr)
返回的是整個數(shù)組所占用的字節(jié)數(shù),即10 * sizeof(int)
。對于二維數(shù)組int arr[3][4]
,sizeof(arr)
返回的是整個數(shù)組所占用的字節(jié)數(shù),即3 * 4 * sizeof(int)
。