一、定义及特点:在C语言中,sizeof()是返回一个对象或者类型所占的内存字节数。需要注意的是sizeof是关键字,而不是函数。
在计算变量所占空间时,()可以省略;在计算类型大小时,不能省略。
sizeof int;//error
sizeof i;//ok
sizeof(int);//ok
sizeof(i);//ok
二、数组变量的sizeof
为数组所占用字节数。需注意:" "占一个字节。
三、指针变量的sizeof
32位计算机中,指针变量的sizeof一定是4;64位计算机中,指针变量的sizeof一定是8。
四、结构体的sizeof
遵循【字节对齐】
(1)结构体首地址能够被其最宽基本类型成员的大小所整除;
(2)结构体每个成员相对于结构体首地址的偏移量都是此成员大小的整数倍,
(3)结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最后一个成员之后加上填充字节。
五、联合体的sizeof
每个成员sizeof的最大值