阅读量:0
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)
。