#include <iostream.h>
#pragma pack(push) //压栈保存
#pragma pack(4)// 设置1字节对齐
struct
{
char a;
short b;
char c;
}S1;
#pragma pack(pop) // 恢复先前设置
int main(int argc, char *argv[])
{
cout << sizeof(S1) << endl;
return 0;
}
输出结果:6
本文通过一个C++示例程序介绍了结构体内存对齐的概念,并展示了如何使用预处理器指令来控制结构体内存对齐的方式,从而影响结构体的大小。
#include <iostream.h>
#pragma pack(push) //压栈保存
#pragma pack(4)// 设置1字节对齐
struct
{
char a;
short b;
char c;
}S1;
#pragma pack(pop) // 恢复先前设置
int main(int argc, char *argv[])
{
cout << sizeof(S1) << endl;
return 0;
}
输出结果:6
217
1439

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