在C语言中sizeof是一个判断数据类型或者表达长度的运算符。
基本数据类型的sizeof
这里的基本数据类型指short、int、long、float、double这样的简单内置数据类型,由于它们都是和系统相关的,所以在不同的系统下取值可能不同,这务必引起我们的注意,尽量不要在这方面给自己程序的移植造成麻烦。
一般的,在32位编译环境中,sizeof(int)的取值为4。
例如:
int main()
{
int a = 5;
printf("%d\n", sizeof(int)); //打印结果为4
printf("%d\n", sizeof(a)); //打印结果为4
return 0;
}
其中a是int型的所以打印结果与int值为一样的
我们也可以用sizeof用来计算数组的大小或者求数组元素个数,列如:
int main()
{
int a = 5;
int arr[] = { 4,5,6,1,9,8,2 };
printf("%d\n", sizeof(arr)); //打印结果为28
printf("%d\n", sizeof(arr) / sizeof(arr[0])); //打印结果为7
return 0;
}
sizeof(arr)代表的是数组整个的大小:我们将数组命名为int型的所以是4*7=28;而sizeof(arr[0])代表的是数组中一个元素所占的大小,为4字节。
这样我们可以求出数组中元素个数为7.