在C語言中,sizeof是一個運算符,用于獲取一個數據類型或變量在內存中所占的字節數。sizeof可以用于以下幾種用法:
sizeof(數據類型):獲取指定數據類型在內存中所占的字節數。例如,sizeof(int)將返回整型變量在內存中占用的字節數。
sizeof(變量):獲取指定變量在內存中所占的字節數。例如,sizeof(num)將返回變量num在內存中占用的字節數。
sizeof 表達式:獲取指定表達式的結果所占的字節數。例如,sizeof(num + 1)將返回num + 1表達式的結果在內存中占用的字節數。
需要注意的是,sizeof是在編譯時求值的,而不是在運行時求值的。因此,sizeof的結果是一個常量表達式,可以在編譯時就確定下來。
下面是一些示例:
#include <stdio.h>
int main() {
int num = 10;
int arr[5] = {1, 2, 3, 4, 5};
printf("sizeof(int): %zu\n", sizeof(int));
printf("sizeof(num): %zu\n", sizeof(num));
printf("sizeof(arr): %zu\n", sizeof(arr));
printf("sizeof(arr[0]): %zu\n", sizeof(arr[0]));
printf("sizeof(num + 1): %zu\n", sizeof(num + 1));
return 0;
}
輸出結果:
sizeof(int): 4
sizeof(num): 4
sizeof(arr): 20
sizeof(arr[0]): 4
sizeof(num + 1): 4
可以看到,int類型在內存中占用4個字節,變量num占用4個字節,數組arr占用20個字節(每個元素int占用4個字節,一共有5個元素),arr[0]占用4個字節,num + 1占用4個字節。