为什么得到的结果是40(结构体变量s的所占的内存字节数)?
#include<stdio.h>int main()
{
union un
{
float x;
float y;
char c;
};
struct st
{
union un v;
float w;
double u;
}s;
printf("%d\n",sizeof(s));
return 0;
}
https://blog.csdn.net/qq_42418668/article/details/89244607
https://www.cnblogs.com/weiyouqing/p/9685427.html 6 v 的大小
float类型 为4
偏移量6不是4的整数倍,先移到12,刚好是4的整数,所以 6 + 6 + 4*5 = 32
接下来double 是8
32 刚好是8的整数倍,所以 32 + 8 = 40
页:
[1]