结构体中字节对齐的问题
来源:互联网 发布:淘宝鞋子关键词 编辑:程序博客网 时间:2024/04/28 20:38
在一个16位的机器,以下结构由于边界对齐浪费了多少空间()
1
2
3
4
5
struct
{
char
a;
int
b;
char
c;
}
2 4 6 8
16位机器,char型占1个字节,int型占2个字节。
结构体中字节对齐有两条规则:
- 数据成员自对齐,即数据成员起始地址为数据类型长度的整数倍,如该题int型b只能从0,2,4...等地址处开始放;
- 结构体总长度是结构体中有效对齐值的整数倍,有效对齐值,如该题没明确指出,则为最长数据成员(int b)长度的整数倍;
根据上面两条规则,画出内存示意图。根据规则1,int b从2处开始放,此时结构体总长度为(1 + 1 + 2 + 1 = 5);再根据规则2,
结构体总长度应为2的整数倍,故应为6.描红的两个字节表示被浪费的。
阅读全文
0 0
- 结构体中字节对齐的问题
- C++中结构体的字节对齐问题
- 结构体的字节对齐问题
- 结构体的sizeof字节对齐问题
- 关于结构体字节对齐的问题
- 结构体的字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体字节对齐问题
- 结构体中字节对齐问题(转载)
- 机器学习练习题
- vs2013打开项目不兼容
- java基础——String存放的区域
- python实现的刷点击率代码
- Centos6.5使用yum安装mysql
- 结构体中字节对齐的问题
- vc 消息与事件的区别
- 文章标题
- Maven配置Log4j
- [Tomcat剖析] 1 Tomcat整体架构
- Androdi平台camera的相关知识总结
- 不能将参数 1 从“const char [11]”转换为“LPCWSTR”
- HDU 6208 The Dominator of Strings (kkkkkk....mp)
- redis持久化存储