
有时需要使几种不同类型的变量存放到同一段内存单元中这几个变量共用了一块内存空间共用体省内存 省空间 // 早期计算机 硬件资源很紧张用法//构造类型//有了类型之后再定义变量定义指针定义数组做函数形参 做函数返回值类型语法: //类型定义union 共用体名{成员列表};eg:union demo{int a;short b;char c;};定义变量--初始化注意:1.共用体默认初始化是首个成员只能初始化一个成员2.共用体的空间以最大的成员为空间大小3.成员变量起始地址是一样的但是用多少个字节取决于成员变量的类型4.连续赋值时共用体中最终结果取决于取决于最终内存中存放了什么因为后给到的会对前面给到数据形参覆盖5.共用体成员的引用和 结构体引用方式一样.-eg用共用体检测大小端写成函数共用体应用场景:1. 节省空间struct stu{char name[20];int no;float score;};struct teacher{char name[20];int no;float salary;};所以struct member{char name[20];int no;union data{float salary;float score;}d;};struct member stu;stu.d.scorestu.d.salary2. 数据转化ip地址192.168.1.93 //点分十进制//ip地址本质是一个32位整数被我分成了四个部分//四个字节//192.168.1.93