数据结构真够累人啊。。。。指来指去。。。脑袋度指糊涂了。。。做题之前一定要理清思绪。。。关键是要理解它的那种思想。。
1】struct 成员对齐
1>自然对界(natural alignment)
即默认对齐方式,是指按结构体中成员size最大的成员对齐。
2>指定对界
.使用伪指令#pragma pack(n),编译器将按照n个字节对齐;
.使用伪指令#pragma pack(),取消自定义字节对齐方式;
注意:如果#pragma pack(n)中指定的n大于结构体中最大成员的size,则其不起作用,结构体任然按照size最大的成员进行对齐
如:
#pragma pack(8)
struct example1
{
short a;
long b;
};
struct examp2
{
char c;
struct example1 h;
short e;
}
#pragma pack()
sizeof(example1);--------- 8
sizeof(example2);---------16
2】10进制转8进制
如: 8|1234 ....2
------
8|154 ...2
... ...3
0 ...2
结果:2322