C++结构中的位字段和共用体
来源:互联网 发布:哪个直播软件好 编辑:程序博客网 时间:2024/05/21 11:28
C++结构中的位字段:
与c语言一样,C++也允许指定占用特定位数的结构成员。这使得创建与某个硬件设备上的寄存器对应的数据结构非常方便。字段的类型应为整型或者枚举,接下来是冒号,冒号后面是一个数字,代表使用的位数。可以使用没有名称的字段来提供间距。每个成员都被称为位字段。
struct test { int sn:4; unsigned int :4; bool flag:1; bool flag1:1; }; test p={1,true,false};
可以像通常那样初始化,还可以使用标准的结构表示法来访问位字段。
位字段通常用在低级编程中。
共用体:
共用体是一种数据格式,它能够存储不同的数据类型,但只能同时存储其中一种数据类型,它里面的成员共享一块地址空间。简单来说,结构可以同时存储int,long和double,而共用体只能存储int或者long或者double。共用体的长度为其最大成员的长度。共用体的声明和结构很类似:
union test { int p1; double p2; long p3; };共用体的用途之一是,当数据项使用两种或多种格式,但不会同时使用时,可节省空间。
当共用体本身又是一个结构体的成员时,可以省略名称,即匿名共用体:
struct Student { char name[20]; int sex; //0代表男性,1代表女性 union { int female_id; //假设男学生id比女学生id长 long male_id; }; }t; t.sex=1; t.male_id=1; if(t.sex==0) printf("%ld\n",t.male_id); else printf("%d\n",t.female_id);尽管现在系统的内存很大,好像没有节省那么一点空间。但C++还用于嵌入式系统编程,对这些应用程序来说,内存非常宝贵,则节省内存显得很有必要。另外,共用体常用于操作系统数据结构或硬件数据结构。
阅读全文
0 0
- C++结构中的位字段和共用体
- c语言中的结构体和共用体
- 结构体、共用体和位运算
- 结构体中的位字段
- C语言-结构体中的冒号:位字段
- c 语言结构中的位字段
- 结构中的位字段
- 结构和共用体
- C语言中利用共用体、结构体、位域实现位操作
- C语言_结构体和共用体
- c语言的结构体,共用体和枚举
- C语言共用体和与结构体的区别
- C语言结构体和共用体(2)
- C语言学习------3.1 结构体和共用体
- C语言基础之结构体和共用体
- 由C语言位域(冒号)谈C语言的结构体、枚举、共用体
- 结构体和共用体
- 共用体和结构体
- Linux下最新版LAMP环境(源码版)搭建详细解读
- static、const、define的一些理解
- 最小路径和
- linux下的简单操作
- PAT甲级 1033. To Fill or Not to Fill (25)
- C++结构中的位字段和共用体
- bmfont的设置
- WebRTC代码目录结构
- 【装载】你有一大堆货物和两条船!
- RBTree——红黑树
- 二维数组动态分配内存
- UE4引擎架构
- 剑指offer 查找二位数组
- 开启分享经济的新时代!消费者也能成为“资本家”