联合体位域

2021-11-01  本文已影响0人  iOS之文一

OC底层原理探索文档汇总

联合体union的每一位表示一个信息叫做联合体位域

联合体

联合体也叫共用体,由不同的数据类型组成,其变量互斥,存储方式是所有成员共用一个段内存,共同体同一时刻只能保存一个成员的值,如果对新的成员赋值,就会将原来成员的值覆盖掉。

结构体
结构体是把不同的数据组合存储成一个整体,存储方式是所有成员组合存储,每个成员都分别占用一个内存。

联合体与结构体的区别

优缺点:
优点:

缺点:

简单使用

需求: 需要记录一个车子的行驶方向,

分析:

定义属性

属性.png

定义联合体

联合体.png

解释:

  1. union表示定义了一个联合体
  2. char bits是我们真正使用的那一段内存的表示。就是成员
    • 这里联合体的内存是一个char表示的字节
  3. struct {}说明这个字节可以用来表示什么,每个类型用哪一位来表示
    • front代表第一个位置,back代表第二个位置
    • 后面的1表示占用1位
    • 如果back写的是2,则为0001 1111
  4. 这个是联合体的名称

联合体的运算

先定义位运算的计算方式

计算方式.png

说明:

进行位运算设置(用向前来举例)

运算.png

说明:

使用

使用.png

说明:

上一篇 下一篇

猜你喜欢

热点阅读