sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。且sizeof返回值为无符号整型。
sizeof常见的用法
sizeof(变量名); //求变量的类型的所占用的字节数
sizeof(变量类型);//
sizeof变量名;
三个语句是一样的,都是对变量的类型求所占内存数
例如
int a=0;
sizeof(a);
sizeof(int);
sizeof a;
三者完全相同,都等价于sizeof(int);
所得结果都为int类型的字节数4;
sizeof还可以对一个常量或者表达式求值,对常量求值,结果为常量类型的字节数,对表达式求值,编译器根据表达式的最终结果类型来确定大小,一般不会对表达式进行计算。
sizeof(10);//结果为4。
sizeof 'a';//结果为1
sizeof('a'+10.5)//结果为8。a为字符型,10.5为double 所以结果为double,编译器没有进行表达式的计算,只是知道计算结果是double型的,所以sizeof('a'+10.5);相当于sizeof(double);