关于数据结构大小的问题?
static
{
char a;
int b;
} flags;
int c=sizeof(flags);
c的值是多少?
[解决办法]
static
{
char a;
int b;
} flags;
是不是写错了
struct{
char a;
int b;
}flags;
[解决办法]
static
{
char a; //1
int b; //对齐到4,填充3,然后才是 b 的4字节
} flags;
一共就是 1+3+4 = 8
8 对齐到4, 结果为 8
[解决办法]
字节对齐
http://blog.csdn.net/believefym/archive/2007/08/23/1755425.aspx
[解决办法]
static struct
{
char a;
float b;
} flags;
这个结构里最大的成员 为 float 大小 4 所以这个结构的自身对齐长度为4
char 大小 1
所以
要在最后补充 3
一共是
1 + 4 + 3