位域(c语言)

位域(c语言),第1张

位域(c语言)

位域

有些信息存储时  并不需要 占用一个完整的字节 而只占领一部分
为了节省空间 让处理方便    c就提供了叫  位域 的数据结构
 位域就是把 一个字节分为不同的区域  并说明每个区域的位数  每个区域都有自己的名字

位域定义
形式  
struct 位域结构名
{
   位域列表         (      type [member_name] : width;)
};
type    只能为int  、 unsigned int  、     signed int  三种形式    决定如何解释位域的值
member_name   位域的名称
width  位域中位的数量  宽度必须小于或等于指定类型的位宽度

带有预定定义宽度的变量被称为位域
struct
{
unsigned int age : 3;
} age;
age变量只使用3位来存储这个值  如果超过3位 则无法完成
      如果超过 会有警告  输出为零

说明  
一个位域存储在同一个字节中   如果不够存放   从下一个单元存放位域
位域宽度不能超过他所依附的数据类型的长度
位域可以是无名位域  这时他只用作填充或调整位置  无名位域不能使用


位域的使用
 位域变量名。位域名
 位域变量名-》位域名
            位域允许 用各种格式输出

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4950258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存