#include <stdio.h>
struct s1 {
int i;
double j;
char c;
};
#pragma pack(pop)
int i ;
double j ;
char c ;
};
int main()
{
printf("size of s1 = %lu\n",sizeof(struct s1));//结果为13
printf("size of s2 = %lu\n",sizeof(struct s2));//结果为24(64位操作系统)16(32位操作系统)
return 0;
}
#pragma pack(push)
//设置结构体对齐方式为1个字节,这里采用出栈入栈的方式
struct s1 {
int i;
double j;
char c;
};
#pragma pack(pop)
//设置成系统默认的对齐方式,具体是多少字节与你操作系统有关
//32位的是4字节对齐,64位的是8字节对齐
int i ;
double j ;
char c ;
};
int main()
{
printf("size of s1 = %lu\n",sizeof(struct s1));//结果为13
printf("size of s2 = %lu\n",sizeof(struct s2));//结果为24(64位操作系统)16(32位操作系统)
return 0;
}