首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++:等效结构体有关问题~

2012-03-02 
c++:等效结构体问题~~~急,,求助,4byte对齐内存分配方式下,下面4个定义的等效结构体,从存储效率上哪个更优(

c++:等效结构体问题~~~急,,求助,
4byte对齐内存分配方式下,下面4个定义的等效结构体,从存储效率上哪个更优( )
(A) typedef struct {
char a;
char b;
intc;
short d;
}AA_t;
(B) typedef struct {
char a;
intc;
short d;
char b;
}BB_t;
(C) typedef struct {
char a;
char b;
short d;
intc;
}CC_t;
(D) typedef struct {
short d;
intc;
char a;
char b;
}DD_t;


答案:C
能否详细讲解下?谢喽


[解决办法]
c中每个变量的长度范围都不超过边界,不需要额外的字节就能达到对齐的效果
[解决办法]
A a b
c
d
 12byte
B a
c
d b
12byte
C a b d
c
8byte
D d
c
a b
12byte
[解决办法]
这个很明显吧

4byte对齐,只有 int 是 4byte

short 为 2byte,char 为 1byte

int 在最先或最后的位置应该都行

热点排行