例:

typedef union {
    uint16_t X;
    struct{
    uint16_t       A  :1; 
    uint16_t       B  :1;

uint16_t       C  :14;

} Bits;

} Y;

使用typedef后,Y相当于结构体类型名,可以直接用Y 声明结构体变量。如Y y;

uint16_t       A  :1; 这种定义方式表示A占1位的长度,跟前面的uint16_t没多大关系。同理:B占1位长度,C占14位长度。

小端结构下,A为最低位,依次往上为B、C。

如写入y.BITS.A=1,则对应的为0000 0000 0000 0001;再写入y.BITS.B=1,则对应的为0000 0000 0000 0011;再写入y.BITS.A=5,则对应的为0000 0000 0001 0111。

此时读取X = 0000 0000 0001 0111。(联合体成员共用内存)

关于联合体及联合体嵌套结构体相关推荐

  1. 基于STM32使用嵌套结构体摸索内存对齐

    导读 一.结构体的声明以及初始化 二.结构体成员的内存对齐规则 三.联合体以及嵌套结构体的用法 位段 小端模式 三.位段数据跨字节单位导致的内存对齐现象 用来描述对象特征的各类信息,通常会被整合成记录 ...

  2. c++结构体嵌套结构体_Go学习每日一问(13)-结构体嵌套

    每次学习并整理一个Golang的知识点,每天进步一点点.今天学习一个go结构体嵌套的知识点. 日省吾身 1.下面这段代码的输出结果? func main() { a := -7 b := +7 fmt ...

  3. C语言学习笔记---嵌套结构体

      结构体不仅可以单独使用,也可以在结构体中嵌套另一个结构体.如下面的例子: struct Date{int year;int month;int day;};struct book{char tit ...

  4. c/c++教程 - 1.10 结构体 使用typedef定义struct结构体 结构体数组 结构体指针 结构体嵌套 结构体做函数参数 结构体const

    十二.结构体 (1)结构体定义和使用 基本概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型. 参考视频:https://www.bilibili.com/video/BV1et411b ...

  5. 结构体04:结构体嵌套结构体

    #include<iostream> #include<string> using namespace std;//定义结构体 学生 struct Student{string ...

  6. C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例

    C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例 目录 一.简单介绍 二.结构体定义和使用 三. ...

  7. C语言:指针的偏移步长、结构体成员的偏移量、嵌套结构体成员的偏移量、结构体的内存对齐

    文章目录 1 不同类型指针的偏移步长 2 结构体成员的偏移量 3 嵌套结构体成员的偏移量 4 结构体的内存对齐 4.1 内存对齐的原因与优点 4.2 结构体内存对齐的规则 4.3 结构体嵌套结构体时的 ...

  8. c语言嵌套结构体数组,第22节 C语言结构体之结构体嵌套、结构体指针与结构体数组的代码实现...

    结构体 #include //第一步 struct Student { //学号 int no; //姓名 char name[20]; //性别 char sex[10]; //成绩 double ...

  9. C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,const变量使用)

    C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数,const变量使用) 目录 C++结构体(结构体创建,结构体数组,结构体指针,结构体嵌套结构体,结构体做函数参数, ...

  10. 【C++】结构体嵌套结构体

    目录 1.缘起 2.结构体嵌套结构体 3.总结 1.缘起 结构体嵌套结构体 是一种数据组织方式,就像 俄罗斯套娃 一样,一个数据结构可以包含另一个数据结构.这种嵌套结构使得程序可以更加灵活地处理数据, ...

最新文章

  1. linux系统目录树/内核源码目录树
  2. hi!亲爱的好友,欢迎您的光临
  3. IIS配置不正确可能导致“远程服务器返回错误: (404) 未找到错误一例。
  4. C#操作Excel(搜集)
  5. transform你不知道的那些事
  6. linux脚本编程(shell)浅介 (转载)
  7. 如何复制对冲基金的成功?
  8. python中使用什么关键字创建自定义函数_python自定义函数有哪些写法及用法
  9. AI从业者谈发展前景:须有效解决产业规模化痛点
  10. 如何发挥思维导图真正的杀伤力?
  11. [好文推荐] 给年轻程序员的8条建议
  12. 基于Android的医院预约挂号系统
  13. 基于雷电模拟器利用python制作手游脚本 (神都夜行录,古剑奇谭木语人) (一)
  14. MySQL数据库监控与调优(2)
  15. 2017年最火的19个行业怎么发展?这里有份投行的万字预测
  16. Apollo坐标系转换
  17. 每日新闻 | 董明珠与雷军开启新赌约:10亿不要了,再赌5年
  18. 数据库系统工程师——考试分析(2023备考)
  19. 在服务器后台运行程序
  20. Hyperledger Fabric链码修改与测试(一)

热门文章

  1. 火火火---12幅算法生成火的图像
  2. 基于图像的三维重建——对极几何(3)
  3. QT 中控件缩放比列设置
  4. 【Mysql】认识Mysql重要架构(一)
  5. Java 常用工具类 - 校验身份证 IdCardUtils
  6. java 修改word属性_Java修改/替换Word批注
  7. 钱,才是成年人活着的最大底气
  8. 《白鹿原》读书笔记——纪实的戏剧
  9. 比SUM函数还高级的求和函数,你知道吗?
  10. 64位操作系统支持的最大内存