#pragma pack( push,1 )
struct_ A{
int a;
char b;
}A;
#pragma pack(pop)
#pragma pack(push,1)
union{
int a;
char b[21];
}aa;
#pragma pack(pop)
union时,当按字节对齐后,所占用的字节为21,,
如果不按字节对齐的话, 占用的字节数为24
本文探讨了在C/C++中使用结构体(struct)和联合体(union)时的数据对齐问题。具体分析了不同对齐方式下,数据结构所占用的实际内存空间差异,并通过示例展示了如何使用编译器指令控制对齐方式。
#pragma pack( push,1 )
struct_ A{
int a;
char b;
}A;
#pragma pack(pop)
#pragma pack(push,1)
union{
int a;
char b[21];
}aa;
#pragma pack(pop)
union时,当按字节对齐后,所占用的字节为21,,
如果不按字节对齐的话, 占用的字节数为24
1527

被折叠的 条评论
为什么被折叠?