C语言中的结构体对齐
来源:互联网 发布:手机个人热点软件 编辑:程序博客网 时间:2024/06/05 20:49
1设结构体如下定义:
struct A {
int a;
char b;
short c;
};
sizeof(strcut A)值为8。
int
x
x
x
char
short
x
x
2现在把该结构体调整成员变量的顺序。
struct B {
char b;
int a;
short c;
};
这时候同样是总共7个字节的变量,但是sizeof(struct B)的值却是12。
char
x
x
x
int
x
x
x
short
x
x
x
3下面我们使用预编译指令#pragma pack (value)来告诉编译器,使用我们指定的对齐值来取代缺省的。
#progma pack (2) /*指定按2字节对齐*/
struct C {
char b;
int a;
short c;
};
#progma pack () /*取消指定对齐,恢复缺省对齐*/
sizeof(struct C)值是8。
4修改对齐值为1:
#progma pack (1) /*指定按1字节对齐*/
struct D {
char b;
int a;
short c;
};
#progma pack () /*取消指定对齐,恢复缺省对齐*/
sizeof(struct D)值为7。
0 0
- C语言结构体中的数据对齐
- 关于C语言中的结构体对齐
- 关于C语言中的结构体对齐
- C语言中的结构体字节对齐
- 关于C语言中的结构体对齐。
- C语言结构体中的对齐问题
- 关于C语言中的结构体对齐
- C语言中的结构体对齐
- C语言结构体对齐
- c语言结构体对齐
- c语言结构体对齐
- C语言结构体对齐
- C语言结构体对齐
- c语言结构体对齐
- C语言结构体对齐
- C语言结构体对齐
- C语言结构体对齐
- C语言结构体对齐
- xmlRpc
- 在WPF里面如何使用FolderBrowserDialog
- 嗯呢,是哈
- 第19周上机实践项目1——体验动态链表(6)
- 预编译模块及其so库文件
- C语言中的结构体对齐
- uC/OS-II内核架构解析(3)---uC/OS-II系统核心
- poj-3254-状态压缩入门-Corn Fields
- spring mvc 集成mongoDB项目 例子
- Android中ScrollView实现拖拽反弹效果动画
- Python快速教程
- redis经验之谈
- LeetCode 解题报告 LargestNumber
- <android>TRTA:activity的初步学习