1、sizeof是c语言中用来求字节运算符。
sizeof用来求一个对象(类型,变量,……)所占的内存大小(以字节为单位)。
sizeof(x)
typeof(x)
sizeof(typeof(x))
不管你x是否存在,我(sizeof)只关心你的(x)的类型,
然后求这个类型应该占的字节大小。
x可以是变量,数组,类型,表达式,……。只要x的类型是确定的。
char*p=NULL;
sizeof(p)==4;
typeof(p)==char*
sizeof(p)==sizeof(char*)==4
sizeof(*p)==
typeof(*p)==char
sizeof(*p)==sizeof(char)==1
char**p2;
sizeof(*p2)==4
inta[];
sizeof(a)==
sizeof(a)==sizeof(typeof(a))=sizeof(int[])
sizeof(a[])==4
sizeof(a[])==sizeof(typeof(a[]))=sizeof(int)=4
sizeof(a)==4
sizeof(a)==sizeof(typeof(a))==4
typeof(a)==typeof(a)*==int[]*
sizeof(a[0])==4
intb[];
voidfunc(intb[]/*int*b*/)//当数组名为一个函数参数,当作指针来看
{
sizeof(b)==4
}
func(b);
sizeof(1.0)==8
sizeof(1.0)==sizeof(typeof(1.0))==sizeof(doublue)==8
sizeof(1.0f)==4
sizeof(1.0f)==sizeof(typeof(1.0f))==sizeof(float)==4
shorts;
sizeof(s+1)==4
typeof(s+1)==typeof(short+int)==int