首页 > 其他分享 >枚举以及联合体--C语言版

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

时间:2023-02-03 12:31:09浏览次数:42  
标签:定义 自定义 -- 联合体 C语言 枚举 变量 一一列举

枚举的定义

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

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

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

枚举的优点

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

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

联合体(共用体)

联合体的定义

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

联合体的特点

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

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

联合体的计算

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

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

标签:定义,自定义,--,联合体,C语言,枚举,变量,一一列举
From: https://blog.51cto.com/u_15308610/6035787

相关文章

  • VMware ESXi 7.0 Update 3j 更新发布,修复已知问题
    VMwareESXi7.0Update3jStandard&AllCustomImageforESXi7.0U3jInstallCD请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3/,查看最新版。原创作品,转......
  • BM34 判断是不是二叉搜索树
    思路:对于这种dfs思想的算法,分三步走:先判断空节点再判断左子树和右子树根据左子树和右子树返回的信息以及当前节点的信息,返回最终的结果这里有一个技巧:用一个全局变......
  • 在GCP的Kubernetes上安装dapr
    1简介我们之前使用了dapr的本地托管模式,但在生产中我们一般使用Kubernetes托管,本文介绍如何在GKE(GCPKubernetes)安装dapr。相关文章:dapr本地托管的服务调用体验与J......
  • 【DFS】LeetCode 235. 二叉搜索树的最近公共祖先
    题目链接235.二叉搜索树的最近公共祖先思路与【DFS】LeetCode236.二叉树的最近公共祖先一模一样代码classSolution{publicTreeNodelowestCommonAncesto......
  • P4449 于神之怒加强版
    于神之怒加强版题意即求:\[\sum_{i=1}^{n}\sum_{j=1}^{m}\gcd(i,j)^k\]其中\(k\)是与数据组数一起给定的。数据满足\(T\le2\times10^3\),\(n,......
  • centos 7.9安装和部署frp服务
    一、frp简介frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露......
  • Markdown语法与Typora基础操作学习
    在2.2~2.3的两天时间内,我学习了Markdown语法,并且将其实践于Typora之中。在学习的过程中,Typora带给了我意想不到的惊喜,比起印象笔记和OneNote的功能,Typora丰富的快捷键设置......
  • KingbaseES 支持自定义异常
    KingbaseESPLSQL从V8R6C4版本开始,支持用户自定义异常。具体例子如下:createorreplaceprocedurep_test()aserror_numberEXCEPTION;xinteger:=1;begin......
  • 操作系统的体系结构
    操作系统的体系结构分层结构特性:内核分多层,每层可单向调用更低一层的接口。优点:便于调试和验证,自底向上逐层调试验证。缺点:效率低,不可跨层调用,系统调用执行时间长。......
  • 西湖论剑2023-mp3[wp]
    一题目描述  二解题步骤1.分析文件(1)放入Audacity中查看频谱信息无果(2)010editor中查看文件结构   文件尾部存在PNG文件尾,搜索png文件头将该png文件复制......