大牛们帮忙看看占了多少字节
void main()
{
struct stu
{
int num;
char name[20];
char sex;
int age;
float score;
char address[30];
}struct stu zhang,wang;
printf("%d",sizeof(zhang));
system("pause");
}
我在vs2012上面运行后说是68字节
但是我怎么数的是2+20+1+2+4+30=59
求指教???????????????? struct sizeof
[解决办法]
说明白点吧! 由于在x86下,GCC默认按4字节对齐。 SO:
4+20+4+4+4+(30+2)=68 最后一个加2字节,是因为: 32/4=8 可以整除! 所以最后当然是68字节啦!
[解决办法]
struct stu
{
int num;//4
char name[20];//20
char sex;//本来是1个字节的但由于要按4个字节对齐所以为4个字节
int age;//4
float score;//4
char address[30];//32是最小的对齐数
}