大家好,
我想知道下面结构的大小是多少.根据我的计算它应该是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)
结构的大小包括由于打包对齐而在成员之间的填充字节,这是编译器和体系结构相关的(参见此处的示例)
更新:毫不奇怪,这个问题是一个骗局.要获得更好的答案,请参阅为什么结构的sizeof不等于每个成员的sizeof之和?.