sizeof是一个关键字,是一个编译时运算符,用于判断变量/数据类型的字节大小。
可用于获取类、结构、共用体和其他用户自定义数据类型的大小。
//sizeof第一个作用:查看字节大小
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
}
运行结果:
sizeof第二个作用:算数组等长度
//sizeof第二个作用,求数组长度
#include <stdio.h>
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10};
int sz = sizeof(arr) / sizeof(arr[0]);
printf("%d\n", sz);
return 0;
}
运行结果:10
sizeof(arr)求的是数组字节总长度,int是四个字节,arr[ ]有10个元素,总共40个字节。
sizeof(arr[0])求的是数组第一个元素的字节长度,每个元素的字节大小都相同。
相除可以算出arr数组总长度。