C中sizeof问题
大侠们,帮忙解决一个问题:typedef struct A{
char a;
char b;
short c;
};
typedef struct B{
char a;
short b;
char c;
};
为什么A和B的size不同?求解。 这是内存对齐与内存补齐的问题 苹果沃珂 发表于 2013-11-22 16:30 static/image/common/back.gif
这是内存对齐与内存补齐的问题
谢谢,但如果里面再加一个int值:
typedef struct A
{
int i;
char a;
short s;
char b;
}a;
typedef struct B
{
int i;
char a;
char b;
short s;
}b;
为什么sizeof(a)是12
sizeof(b)是8
也就是说为什么A中的char b为什么不能补到short s后面合并成一个四字节,而是重新开辟了一个字节
导致其sizeof为12?麻烦了。
页:
[1]