我的电脑是64位struct{int c; char ch; float f;}b; 后sizeof(b)得到的是12 我知道是由偏移量➕填充字节得来的但是在16位机上是怎么分配的呢 (练习题结果居然是7!?)
int类型跟机器的位数有关,16位下int是2字节,char1字节,float固定4字节可能16位下没有进行字节对齐吧,不然不可能是7
16位下,int是2字节,char是1字节,float是4字节(其它位机器不变)2+1+4=7