主页 > 软件开发  > 

C语言----共用体

C语言----共用体

共用体: union //联合--共用体 

早期的时候,计算机的硬件资源有限, 能不能让多个成员变量 公用同一块空间 

使用方式 类似 结构体  --- 也是构造类型 

struct 结构体名 {   成员变量名 };

union 共用体名 {   成员变量名 }; //表示构造了一个共用体类型 

//定义变量 //定义指针  //定义数组  //做函数形参  //做函数返回值类型

注意:   1.共用体类型的大小 = 最大的成员的大小   2.共用体初始化,只能写一个值,这个值是给第一个成员变量的值    3.共用体成员的访问方式 和 结构体一样   4.共用体因为公用同一块空间     赋值时,后赋值的会影响前面赋值的结果

  5.用途      a.节省空间           校园人员管理系统      struct student      {        char name[20];        int sno;        float score;     };          struct teacher      {        char name[20];        int  tno;        float salary;     };               struct member     {        char name[20];        int  no;        union         {            float salary;           float score;        }data;     };          struct member s;     printf("score = %f\n",s.data.score);     struct member t;     printf("score = %f\n",s.data.salary);

b.数据转换      192.168.0.59 //ip地址 --- 网络环境中 ---实际对应是一个32位的数值           #include <stdio.h>     union Ip     {         unsigned char ip[4];         unsigned int iip;     };

    int main(int argc, const char *argv[])     {         union Ip d = {192,168,0,59};                  printf("ip = %#x\n",d.iip);                  return 0;     }  

 

 

标签:

C语言----共用体由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C语言----共用体