结构体的长度计算问题,若把double放在第一个,那么是算16还是24呢

结构体的长度计算问题,若把double放在第一个,那么是算16还是24呢

img

double放在中间才会影响结构体大小

16

16,原因如下:
double放第一位的话,本身占8字节,刚好是4的整数倍,无需对齐,
第二个是char,本身占1字节,对齐后占4字节,
第三个是int,本身占4字节,无需对齐。
所以 8 + 4 + 4 = 16

供参考:https://blog.csdn.net/lanzhihui_10086/article/details/44353381