位段详解。

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输出。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值