前言
C语言中的sizeof是一个很有意思的关键字,经常有人用不对,搞不清不是什么。我以前也有用错的时候,现在写一写,也算是提醒一下自己吧。
sizeof是什么
sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等,sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。这个操作数不好理解对吧?后面慢慢看就明白了。sizeof的返回值是size_t,在64位机器下,被定义为long unsigned int。
sizeof函数的结果:
1.变量:变量所占的字节数。
int i = 0;
printf("%dn", sizeof(i)); //4
2.数组:数组所占的字节数。
int arr_int1[] = {1,2,3,4,5};
int arr_int2[10] = {1,2,3,4,5};
printf("size_arr1=%dn",sizeof(arr_int1)); //5*4=20
printf("size_arr2=%dn",sizeof(arr_int2)); //10*4=40
3.字符串:其实就是加了'
