当前位置 : 主页 > 编程语言 > java >

枚举以及联合体--C语言版

来源:互联网 收集:自由互联 发布时间:2023-02-04
枚举的定义 枚举顾名思义就是一一列举。 把可能的取值一一列举。 一周的星期一到星期日是有限的7天,可以一一列举。 性别有:男、女、保密,也可以一一列举。 月份有12个月,也

枚举的定义

枚举顾名思义就是一一列举。 把可能的取值一一列举。 一周的星期一到星期日是有限的7天,可以一一列举。 性别有:男、女、保密,也可以一一列举。 月份有12个月,也可以一一列举

enum Day//星期{ Mon, Tues, Wed, Thur, Fri, Sat, Sun};复制代码

{}中的内容是枚举类型的可能取值,也叫枚举常量。

枚举的优点

我们可以使用#define 定义常量,为什么非要使用枚举? 枚举的优点:

  • 增加代码的可读性和可维护性
  • 和#define定义的标识符比较枚举有类型检查,更加严谨。
  • 防止了命名污染(封装)
  • 便于调试
  • 使用方便,一次可以定义多个常量
  • 联合体(共用体)

    联合体的定义

    联合也是一种特殊的自定义类型这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合体也叫共用体)复制代码

    联合体的特点

    //联合类型的声明union Un{char c;int i;};//联合变量的定义union Un un;//计算联合变量的大小printf("%d\n", sizeof(un));复制代码

    联合体的变量是共用同一块空间的

    联合体的计算

    联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合体至少得有能力保存最大的那个成员)。 

    以上就是自定义类型中的枚举、联合体的介绍以及用法解释,自定义类型的使用是十分灵活的,需要我们好好领悟,如果文章有哪些错误,希望各位在评论区可以指正,我们一起进步!

    上一篇:如何设计可向后兼容的RPC协议
    下一篇:没有了
    网友评论