sizeof
是 C 语言中的一个运算符,它用于计算数据类型或对象所占用的内存字节数。以下是 sizeof
在 C 语言中的一些基本用法:
- 计算数据类型的大小:
#includeint main() { printf("Size of int: %ld bytes\n", sizeof(int)); printf("Size of float: %ld bytes\n", sizeof(float)); printf("Size of double: %ld bytes\n", sizeof(double)); return 0; }
- 计算变量的大小:
#includeint main() { int a; float b; double c; printf("Size of variable 'a' (int): %ld bytes\n", sizeof(a)); printf("Size of variable 'b' (float): %ld bytes\n", sizeof(b)); printf("Size of variable 'c' (double): %ld bytes\n", sizeof(c)); return 0; }
- 计算数组的大小:
#includeint main() { int arr[10]; printf("Size of the array: %ld bytes\n", sizeof(arr)); printf("Number of elements in the array: %ld\n", sizeof(arr) / sizeof(arr[0])); return 0; }
- 计算结构体的大小:
#includetypedef struct { int id; float weight; char name[20]; } Person; int main() { Person person; printf("Size of the Person structure: %ld bytes\n", sizeof(Person)); printf("Size of the 'person' variable: %ld bytes\n", sizeof(person)); return 0; }
注意:sizeof
返回的是一个 size_t
类型的值,因此在打印时应该使用 %zu
格式说明符(C99 标准及以后)或者 %ld
格式说明符(在某些平台上,size_t
可能是一个与 long
类型相同的无符号整数)。