运行结果为24,但根据对变量的对齐,结果应该是7的倍数,例如按我计算应该是:4+1+3+4+2+7=21,但运行结果并不如此,希望帮忙解决一下。
没问题,但是整体的结构体大小应该需要是最大的那个变量的倍数
对齐是4字节对齐。不是最大字节对齐。int 4字节char 1字节,对齐为4字节float 4字节short 2字节 对齐为4字节数组 7字节 对齐为8字节总共16+8=24
不够四的补为4,大于四小于八补为8,总是4的倍数