SIZEOF操作符
20 March 2013
sizeof是C/C++中的单目操作符,在编译期间计算,测量这个变量占用的内存大小,它并不是函数。
sizeof是C/C++中的单目操作符,在编译期间计算,测量这个变量占用的内存大小,它并不是函数。返回值是size_t(无符号整数)。可以求出数据类型、函数、变量,表达式的大小。
-
数据类型
sizeof(type)
。可以求出指定数据类型的大小,单位是字节。注意:指向任何数据类型的指针通过sizeof运算都是4。printf("%dn", sizeof(int*)); // 4
-
变量
sizeof a
。计算变量大小时并不需要加括号。char a[] = "hello"; printf("%dn", sizeof(a)); // 6。字符串赋给数组时,还要考虑末尾的''
-
表达式。这里的表达式求值不是在求表达式结果,而是得到表达式结果的占用内存大小。编译器在编译的时候判断表达式结果类型,求得结果。
printf("%dn", sizeof(1 + 1)); // 4
-
函数。计算函数返回值大小,并不会执行函数。
int getArrChar() { printf("hello"); return 3; } main() { printf("%dn", sizeof(getArrChar())); // 4 }
原文链接:SIZEOF操作符,转载请注明来源!
–EOF–