其他分享
首页 > 其他分享> > C语言联合体union、枚举enum

C语言联合体union、枚举enum

作者:互联网

联合体(也叫:共用体)

  关键字:union --------------------->(联合体使用的较少)

  共用体中可以包含多个不同的数据类型
  这些数据类型共享同一块内存空间
  共用体的内存分配内容空间的大小,由共用体中最大的数据类型为基准,分配内存空间。

  格式:
    union 联合体名字{
      数据类型 变量名1;
      数据类型 变量名2;
      数据类型 变量名3;
      ..........
      数据类型 变量名n;
    };

  联合体的优点:
     节约内存空间
  缺点:
    1、同一时刻只能使用联合体中的一个成员
    2、多个变量使用同一块内存空间,不安全,开发中不建议使用联合体。

  联合体中成员的访问:
    union dataPyte dt;
    dt.i  =  初始值;

     .  :直接访问(普通的)

    union dataPyte *dt;
    dt->s  =  初始值;

     -> :间接访问(指针类型的)

    声明联合体数据类型时,编译器不分配内存空间。定义联合体类型变量时,编译器才会分配内存空间。

枚举类型 (enum)

  枚举类型的变量一般占用 4字节 的空间,跟成员个数无关;

  常使用枚举类型表示一些常量:
    enum 枚举名字{
       枚举成员1, //0
       枚举成员2, //1
       枚举成员3, //2
       枚举成员4, //3
       .......
       枚举成员n, // n-1
     }; //分号不可省略

  注意:
    1、枚举中的成员只能表示一个整数,默认第一个成员代表整数0,后面的成员依次加1。
    2、枚举中的成员使用逗号隔开。
    3、可以给枚举中的某个成员指定一个初始值,某个成员后面的成员,再初始值的后面依次加1.

  枚举类型变量的初始化:
    (1)定义的同时进行初始化:
       enum   枚举名字   枚举类型的变量名  =  枚举中的成员进行初始化;
    (2)先定义在初始化:
       enum   枚举名字   枚举类型的变量名 ;
       枚举类型的变量名  =   枚举中的成员;   ---------------->这里只能使用枚举里面的成员

     枚举类型的变量可以直接使用,不用再定义一个变量,然后使用 . 或者->去访问它中的属性。

标签:union,联合体,成员,enum,数据类型,C语言,枚举,变量名
来源: https://www.cnblogs.com/lhj123/p/16409368.html