我有以下结构。其中尺寸是在侧面计算的。填充后结构的大小应为 30Bytes。但大小是 28 。28的结构尺寸如何?
#include <stdio.h>
struct a
{
char t; //1 byte+7 padding byte Total = 8bytes
double d; //8 bytes Total = 16bytes
short s; //2 bytes Total = 18Bytes
char arr[12];//12 bytes 8+8+4+12=32. Total = 30Bytes
};
int main(void)
{
printf("%d",sizeof(struct a)); // O/p = 28bytes
return 0;
}