位域
有些信息存储时 并不需要 占用一个完整的字节 而只占领一部分
为了节省空间 让处理方便 c就提供了叫 位域 的数据结构
位域就是把 一个字节分为不同的区域 并说明每个区域的位数 每个区域都有自己的名字
位域定义
形式
struct 位域结构名
{
位域列表 ( type [member_name] : width;)
};
type 只能为int 、 unsigned int 、 signed int 三种形式 决定如何解释位域的值
member_name 位域的名称
width 位域中位的数量 宽度必须小于或等于指定类型的位宽度
带有预定定义宽度的变量被称为位域
struct
{
unsigned int age : 3;
} age;
age变量只使用3位来存储这个值 如果超过3位 则无法完成
如果超过 会有警告 输出为零
说明
一个位域存储在同一个字节中 如果不够存放 从下一个单元存放位域
位域宽度不能超过他所依附的数据类型的长度
位域可以是无名位域 这时他只用作填充或调整位置 无名位域不能使用
位域的使用
位域变量名。位域名
位域变量名-》位域名
位域允许 用各种格式输出
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)