结构体与位域的对齐:
来源:互联网 发布:日本外汇储备数据 编辑:程序博客网 时间:2024/05/29 18:16
结构体与位域的对齐
C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,
允许其它类型类型的存在。
使用位域的主要目的是压缩存储,其大致规则为:
1) 如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止;
2) 如果相邻位域字段的类型相同,但其位宽之和大于类型的sizeof大小,则后面的字段将从新的存储单元开始,其偏移量为其类型大小的整数倍;(经测试此条好像仅限于char型,整型可以跨域存储)
3) 如果相邻的位域字段的类型不同,则各编译器的具体实现有差异,VC6采取不压缩方式,Dev-C++采取压缩方式;
4) 如果位域字段之间穿插着非位域字段,则不进行压缩;
5) 整个结构体的总大小为最宽基本类型成员大小的整数倍。
留存……
0 0
- 结构体与位域的对齐
- 结构体与位域的对齐:
- 结构体与位域的对齐
- 结构体与位域的对齐
- 结构体的内存对齐问题与位域
- 结构体的内存对齐问题与位域
- 位域与结构体对齐
- 位域与结构体对齐
- 位域与结构体对齐
- 位域与结构体对齐
- 位域与结构体对齐
- 带有位域的结构体对齐
- 位域结构体的字节对齐
- “位域”与结构体内部对齐、结构体外部对齐(自己定义的)
- 结构体对齐(图解)与位域
- 结构体内存对齐与位域
- C语言 结构体的内存对齐问题与位域
- C语言 结构体的内存对齐问题与位域
- C++读取多行数字然后读取该行各个数字
- 美团网16年研发类校招面试经历
- Java环境变量配置
- Android 基础1
- 278-e-First Bad Version
- 结构体与位域的对齐:
- 求数组中最大和为零的子串 滴滴打车2016笔试题目
- 滴滴快的笔试题:最大子矩阵
- Java Map数据结构与排序
- HDU 5195 DZY Loves Topological Sorting(优先队列)
- UVA - 10340 All in All
- 二叉树镜像--20150924
- Java类加载机制源码分析
- Python 学习(7)---网页访问异常处理