在C语言中,sizeof 是一个运算符,用于计算一个变量、一个数据类型或一个表达式所占的字节数。
语法格式如下:
sizeof(type)
sizeof(expression)
其中,type 是一个数据类型,可以是基本类型(如 int、char、float 等)或用户自定义的数据类型(如结构体、联合体等);expression 是一个表达式,可以是变量名、数组名、指针等。
sizeof 运算符的返回值是一个 size_t 类型的整数,表示所占的字节数。可以使用 %zu 格式符输出 size_t 类型的值。
以下是一些示例:
#include <stdio.h>
int main() {
int num = 10;
float f = 3.14;
char ch = 'A';
int arr[5] = {1, 2, 3, 4, 5};
printf("%zu\n", sizeof(int)); // 输出:4
printf("%zu\n", sizeof(num)); // 输出:4
printf("%zu\n", sizeof(float)); // 输出:4
printf("%zu\n", sizeof(f)); // 输出:4
printf("%zu\n", sizeof(char)); // 输出:1
printf("%zu\n", sizeof(ch)); // 输出:1
printf("%zu\n", sizeof(arr)); // 输出:20
return 0;
}
在上面的示例中,sizeof(int)、sizeof(float)、sizeof(char) 分别计算了基本数据类型所占的字节数,sizeof(num)、sizeof(f)、sizeof(ch) 分别计算了变量所占的字节数,sizeof(arr) 计算了数组所占的字节数。