这种结构的大小出乎意料吗?

Ami*_*mar 1 c

可能重复:
为什么structof sizeof不等于每个成员的sizeof之和?

大家好,

我想知道下面结构的大小是多少.根据我的计算它应该是20.还有一件事是这种结构有什么方法考虑它的变量t的大小?

请忽略任何语法错误,我在32位机器上

 struct structc
{ 

char        c; 
double      d; 
int         s;
} t;

main()
{
printf("sizeof(structc_t) = %d\n", sizeof(t)); 
} 
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 6

结构的大小包括由于打包对齐而在成员之间的填充字节,这是编译器和体系结构相关的(参见此处的示例)

更新:毫不奇怪,这个问题是一个骗局.要获得更好的答案,请参阅为什么结构的sizeof不等于每个成员的sizeof之和?.