c++ 结构体大小

#include
usingnamespacestd;
intmain(){
struct{
charfirstname[25];
charmi;
charlastname[25];
intscore;
}A;
cout<
return0;
}
为什么是56呢?
收到一只叮咚
浏览 381回答 2
2回答

月关宝盒

一个变量的地址必须是其自身长度的整数倍。firstname,mi和lastname都是char类型,一共占用51个字节,即偏移地址为0~50;接下来是一个int,int是4字节,其偏移地址必须为4的整数倍,所以偏移地址为52~55(52是第一个大于50的能被4整除的数字);至于中间的第51这个字节,就是俗称的padding,是个浪费掉的填充字节;所以整个结构体占用的地址为0~55,共56个字节
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript