您的位置:首页 > 其它

位段详解。

2016-01-26 09:43 225 查看
C语言想结构体中以位为单位来指定其成员所占内存的长度。

如:

struct data{

unsigned a:2;

unsigned b:4;

unsigned c:16;

int i;

};

如果各个位段之和没有沾满一个字节,则存储单元其余位置为空。

对位段数据的引用方法:

data.a=2;

如果data.a=4;则报错。

1.位段成员的类型必须为unsigned或者int。

2.若某一位段要从另一个字开始存放,可以如下定义:

unsigned a:1;

unsigned b:2;

unsigned :0;

unsigned c:3;///从另外一个存储单元开始存放。

3.一个位段必须同时存储在同一存储单元中,不能跨两个单元。

4.可以定义无名字段。如:

unsigned a:1;

unsigned b:2;

unsigned :6;

unsigned c:3;

5.位段可以使用%d,%u,%x,%o输出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: