在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)
计算了数组所占的字节数。