位域成员变量详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位域成员变量详解相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <string> #include <string.h> #include <stdio.h> #include <malloc.h> #include "list.h" using namespace std; /* 位域成员变量: 该种形式只能出现于结构体或共用体的定义中,是位域定义的标准形式。 其使用方式为 struct name { type var_name : n; }; 含义为,在结构体name汇总,成员变量var_name占用空间为n位。 n为正整数,其值必须小于type类型占用的位数。比如type如果是int, 占4字节32位,那么n必须是-16~15之间的整数。 注意: 1. type只能为int、unsigne int这2种类型 2. 不能在结构体共用体外定义位域变量 */ typedef struct { int num:4; //指定num所占空间为16位,即2字节 }A; int main(void) { A a; a.num=7; cout << a.num << endl; //7 a.num++; cout << a.num << endl; //注意为: -8 a.num++; cout << a.num << endl; //-7 cout << "------" << endl; a.num=8; //超过-8~7的范围,则置为8 cout << a.num << endl; //-8 a.num++; cout << a.num << endl; //-7 a.num++; cout << a.num << endl; //-6 }
以上是关于位域成员变量详解的主要内容,如果未能解决你的问题,请参考以下文章