任何人都可以告诉我,下面显示的结构的大小是24而不是20.
typedef struct
{
double d; // this would be 8 bytes
char c; // This should be 4 bytes considering 3 bytes padding
int a; // This would be 4 bytes
float b; // This would be 4 bytes
} abc_t;
main()
{
abc_t temp;
printf("The size of struct is %d\n",sizeof(temp));
}
Run Code Online (Sandbox Code Playgroud)
我的假设是当我们考虑填充时结构的大小将是20但是当我运行此代码时,大小打印为24.