码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 枚举类型原来是这么回事儿


    联合体:http://t.csdn.cn/xPGVu 

    结构体: http://t.csdn.cn/vVtua

    这次带着大家学习了枚举类型的定义、优点以及使用。

    下一篇将带着大家学习联合体方面的知识。

    目录

    枚举

    1.枚举类型的定义

    2.枚举类型的优点

    3.枚举类型的使用


    枚举

    枚举其实就是一一列举的意思,把可能的取值一一列举。

    例如:

    1. 一周的星期一到星期天一共有7天,可以一一列举。
    2. 性别有男、女人、保密也可以一一列举。
    3. 月份有12个月,也可以一一列举。

    取值是有限的。

    1.枚举类型的定义

    例1:

    1. enum Day//星期
    2. {
    3. Mon,
    4. Tous,
    5. Wed,
    6. Thur,
    7. Fri,
    8. Sat,
    9. Sun
    10. };
    1. struct stu
    2. {
    3. int a;
    4. char b;
    5. };
    1. enum 是枚举关键字,Day 是枚举的标签;struct 是结构体关键字,stu 是结构体的标签。
    2. 两者都有1个{}和分号,结构体的叫成员变量,枚举的叫枚举常量。
    3. 在语法形式上,枚举都是一逗号结尾的,而结构体则是分号。

    例2:

    1. enum Day//星期
    2. {
    3. Mon,
    4. Tous,
    5. Wed,
    6. Thur,
    7. Fri,
    8. Sat,
    9. Sun
    10. };
    11. int main()
    12. {
    13. enum Day d = Fri;
    14. return 0;
    15. }
    1. 此时的d表示的是星期五的意思,而且d的值只能是枚举类型其中的一个。
    2. {} 里面的内容是枚举类型的可能取值。

    枚举类型的可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。

    例3:

    1. enum Day//星期
    2. {
    3. Mon,//0
    4. Tous,//1
    5. Wed,//2
    6. Thur,//3
    7. Fri,//4
    8. Sat,//5
    9. Sun//6
    10. };
    11. int main()
    12. {
    13. printf("%d\n", Mon);
    14. printf("%d\n", Tous);
    15. printf("%d\n", Wed);
    16. return 0;
    17. }

    代码结果:

    例4:

    修改枚举的默认值

    1. enum Day//星期
    2. {
    3. Mon = 1,
    4. Tous,
    5. Wed,
    6. Thur,
    7. Fri,
    8. Sat,
    9. Sun
    10. };
    11. int main()
    12. {
    13. //enum Day d = Fri;
    14. printf("%d\n", Mon);
    15. printf("%d\n", Tous);
    16. printf("%d\n", Wed);
    17. printf("%d\n", Thur);
    18. printf("%d\n", Fri);
    19. printf("%d\n", Sat);
    20. printf("%d\n", Sun);
    21. return 0;
    22. }

    代码结果:

    2.枚举类型的优点

    为什么要使用枚举呢

    枚举的优点:

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

    3.枚举类型的使用

    1. enum Color//颜色
    2. {
    3. RED = 1,
    4. GREEN = 2,
    5. BLUE = 4
    6. };
    7. int main()
    8. {
    9. enum Color color = GREEN;//只能拿枚举常量给枚举变量赋值,才不会出现类型的差异。
    10. color = 5; //error
    11. return 0;
    12. }

  • 相关阅读:
    令牌桶算法和漏桶算法各自的应用场景
    Devkit开发框架插件工具——Gzip工程创建
    基于Python实现的类Pascal语言的词法分析和语法分析器
    【渲染数学-01】如何模拟静态流(上)
    NLP之无监督方式构建词库
    鸿蒙开发通信与连接:【@ohos.rpc (RPC通信)】
    NOI / 2.4基本算法之分治-2991:2011
    C++ Reference: Standard C++ Library reference: C Library: cstdio: FILE
    jvm的垃圾回收器以及触发full gc的场景
    蓝桥杯每日一题2023.10.17
  • 原文地址:https://blog.csdn.net/m0_63033419/article/details/125904893
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号