C结构体之位域(位段)结构体大小
来源:互联网 发布:美工主要做什么 编辑:程序博客网 时间:2024/06/08 04:20
struct Cstruct
{
int x:1;
int y:14;
int Z:32;
int W:1;
};
ret=sizeof(struct Cstruct); =12 //硬是没明白
1. 一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。例如:
struct bs{ unsigned a:4 unsigned b:5 /*从下一单元开始存放*/ unsigned c:4}
2. 由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度。
3. 位域可以无位域名,这时它只用来作填充或调整位置。无名的位域是不能使用的。例如:
struct k{ int a:1 int :2 /*无位域名,该2位不能使用*/ int b:3 int c:2};
struct Cstruct{int x:1;int y:14;int W:1;int Z:32;};
ret=sizeof(struct Cstruct); =8 //明白
32 bit default 4byte 对齐
这文章写得很好:可以去看看!
http://www.cnblogs.com/bigrabbit/archive/2012/09/20/2695543.html
- C结构体之位域(位段)结构体大小
- C结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- c 结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- c 结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)
- C结构体之位域(位段)_chris
- C结构体之位域(位段)
- VC++读写打开Excel文档数据
- Java中Dictionary的使用
- Android字符串进阶之三:字体属性及测量(FontMetrics)
- NSString 对字符串的操作
- Android应用开发之sqlite使用模糊查询数据库数据的三种方式
- C结构体之位域(位段)结构体大小
- C/C++里的时间函数
- SQLite 聚合函数中的 group_concat()
- android notification 的使用
- 2013-11-18
- 腾讯微博 sso发布微博 check sign error 问题的解决
- 数字图像处理入门(一) 击中击不中
- Lucene实例(各种Query使用的例子)
- Java基础学习第六章之面向对象下