关于结构体对齐的问题
2015-04-06 17:29
260 查看
#include <stdio.h>
#pragma pack(push)
//设置结构体对齐方式为1个字节,这里采用出栈入栈的方式
#pragma pack(1)
struct s1 {
int i;
double j;
char c;
};
#pragma pack(pop)
//设置成系统默认的对齐方式,具体是多少字节与你操作系统有关
//32位的是4字节对齐,64位的是8字节对齐
struct s2 {
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个字节,这里采用出栈入栈的方式
#pragma pack(1)
struct s1 {
int i;
double j;
char c;
};
#pragma pack(pop)
//设置成系统默认的对齐方式,具体是多少字节与你操作系统有关
//32位的是4字节对齐,64位的是8字节对齐
struct s2 {
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;
}
相关文章推荐
- 关于C语言中的结构体对齐问题
- 关于字节对齐、结构体偏移地址、字位段问题的例子程序说明
- 关于结构体字节对齐的问题
- 关于C语言结构体对齐问题的探讨
- 关于C语言中的结构体对齐问题
- 关于C语言中的结构体对齐问题
- 关于C语言中结构体字节对齐问题
- 关于结构体对齐的问题
- 关于结构体对齐 和结构体位域的问题 (面试很重要)
- 关于结构体的长度问题(字节对齐)
- 关于VC下结构体内存对齐问题
- 关于结构体内存对齐的问题
- 关于C语言中的结构体对齐问题
- 关于字节对齐-结构体对齐问题解决方法的确认
- 关于包含0长数组的结构体对齐问题(C语言 Linux_x64 GNU编译器)
- 关于结构体对齐和结构体位域的问题
- 关于C语言中的结构体对齐问题
- [转]关于结构体成员内存对齐的问题
- 13、关于结构体对齐的问题
- windows和Linux之间socket传输结构体关于字节对齐产生的问题