一文攻破枚举类型-C语言

1 什么是枚举类型

枚举是一个基本的数据类型,它可以让数据更简洁。所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。

声明枚举类型的一般形式:

enum [枚举名] {枚举元素列表};
  • 枚举名的命名应遵循标识符的命名规则

    enum Weekday
    {SUN,MON,TUE,WED,THU,FRI,SAT
    };
    enum Weekday workday, weeked;// 不声明有名字的枚举类型,直接定义枚举变量
    enum {SUN,MON,TUE,WED,THU,FRI,SAT
    } workday, weeked;
    
    • enum Weekday为枚举类型
    • workdayweeked 被定义为枚举变量
    • sun, MON, ......, SAT称为枚举元素或枚举常量
    • 枚举变量 workdayweeked 的值只能是 SUNSAT 之一

2 枚举类型的特点

(1)不能在声明枚举类型之外的程序中对枚举常量进行赋值,例如:

enum Weekday
{SUN,MON,TUE,WED,THU,FRI,SAT
};
SUN = 0;   // 错误

(2)可以在定义枚举类型时显式地指定枚举元素的值,如:

enum Weekday
{SUN = 7,MON = 1,TUE,WED,THU,FRI,SAT
};
  • 由于 MON = 1,至此后续枚举成员的值在前一个成员上加 1,即:

    TUE = 2;
    WED = 3;
    THU = 4;
    FRI = 5;
    SAT = 6;
    

(3)每一个枚举元素都代表一个整数,C 语言编译按定义顺序默认它们的值为 0, 1, 2, ......,即:

SUN = 0;
MON = 1;
TUE = 2;
WED = 3;
THU = 4;
FRI = 5;
SAT = 6;// 若
workday = SUN;
// 即
workday = 0;
printf("%d\n", workday);

(4)枚举元素可以用来判断比较,例如:

if (workday == MON) ...
if (workday > SUN) ...

3 示例

#include <stdio.h>
#include <stdlib.h>int main()
{enum color{orange = 1,apple,pear} favorite_fruit;printf("请输入你喜欢的水果: (1. orange, 2. apple, 3. pear): ");scanf("%d", &favorite_fruit);// 输出结果switch (favorite_fruit){case orange:printf("你喜欢的水果是橘子。");break;case apple:printf("你喜欢的水果是苹果。");break;case pear:printf("你喜欢的水果是梨。");break;default:printf("你没有选择你喜欢的水果。");}return 0;
}

一文攻破枚举类型-C语言相关推荐

  1. 一文攻破共用体-C语言

    一文攻破共用体-C语言 1 什么是共用体 由几个不同的变量共享同一段内存的结构,称为"共用体"类型的结构. 例如,把一个短整型变量.一个字符型变量和一个实型变量放在同一个地址开始的 ...

  2. 一文攻破结构体-C语言

    一文攻破结构体-C语言 1 什么是结构体 1.1 结构体类型 结构体(structure)是由不同类型数据组成的组合型的数据结构,可以看做变量的集合.结构体也是一个数据类型,就像和 int.char一 ...

  3. c语言 字符串 枚举类型,C语言入门 — 枚举类型

    1.C语言入门 - 枚举类型,枚举类型的关键字是enum, enum是用来定义一组整型数值,其实定义模型如下: enum { 常数名称1 = 0, //起始值取0,这里的值可以为0,正数,负数. 常数 ...

  4. c枚举类型enum例题_C语言--enum,typedef enum 枚举类型详解

    原文:http://z515256164.blog.163.com/blog/static/32443029201192182854300/ 有改动 C语言详解 - 枚举类型 注:以下全部代码的执行环 ...

  5. c语言基础知识_结构体访问,共同体,枚举类型

    C语言结构体变量的引用: 对于定义的结构体类型的普通变量,访问其成员用圆点运算符("."),标准访问方式如下: 结构体变量名.成员名 对于定义为指向结构体的指针变量,用箭头运算符( ...

  6. c语言枚举法礼泡声次数,C语言枚举类型举例

    C语言枚举类型举例 注:以下全部代码的执行环境为VC++ 6.0 宏和枚举的区别 宏和枚举之间的差别主要在作用的时期和存储的形式不同,宏是在预处理的阶段进行替换工作的,它替换代码段的文本,程序运行的过 ...

  7. c语言 枚举类型 uint32_浅谈C语言枚举类型 | 附自创用法分享

    经济学家说过,路边是不会有100元的:但如果有,你还是要捡起来. 同理,在貌似万物免费的网络时代,你是很难找到有针对性的好资料:但是如果有,希望你能认真学习吸收. 比如笔者今天写的这一篇 一 今天这篇 ...

  8. c语言 枚举类型 uint32_最全面C语言数据基本数据类型解析

    前言 上一章节主要是详细介绍了C语言system函数实现一个自动关机程序,不清楚的可以回顾一下哦.本章节主要针对于C语言基本数据类型解析一个详细介绍. C语言基本数据类型是什么? c编程语言中的数据类 ...

  9. C语言枚举类型(enum)的各种用法

    文章目录 一. 基本概念 二.枚举类型的使用 三.枚举案例 一. 基本概念 枚举enum就是英文enumerate的缩写,也就是列举.排列说明的意思.枚举类型是C语言中的一种特殊类型,枚举类型可以让我 ...

最新文章

  1. 炉石整活拔线方法_炉石传说:采访仰天莫笑——黄金总决赛再度捧杯后的变化与成长...
  2. PHP 权威代码风格规范
  3. dhcp snooping+IPSG的一些理解
  4. 人脸质量评估网络推荐
  5. iis php 图片无法显示,iis php 图片无法显示怎么办
  6. 卷积神经网络中不同类型的卷积方式介绍
  7. 【机器学习基础】半监督算法概览(Python)
  8. 大小仅1MB,超轻量级通用人脸检测模型登上GitHub趋势榜
  9. 使用dockerfile自动化构建镜像
  10. 周围剃光头顶留长发型_?22岁亿万富翁凯莉登杂志,顶着5斤“鸟窝头”凹造型,绝代艳后...
  11. 轮胎的体积与面积计算
  12. 装机经验-某些服务器安装系统困难,需要BIOS设置
  13. DoYourData AppUninser Mac版(Mac应用卸载工具)
  14. 将Python文件打包成so文件
  15. solidworks工程图剖视图没有从默认的A开始解决办法
  16. 电脑引导,电脑常见开机引导错误的解决方法
  17. 异常:Mapper method 'com.***.delByNumber' has an unsupported return type: class java.lang.String
  18. Web前端HTML-CSS学习笔记
  19. PID控制算法实践应用(一):PID算法的离散化
  20. 【Unity游戏开发】动画系统(三)按钮动画

热门文章

  1. 软设考试笔记--UML建模
  2. 手机适配鸿蒙教程,鸿蒙系统支持手机介绍
  3. 科技论文的几种类型-如何写好科技论文之我见(二)
  4. 世界四大重要检索系统简介
  5. 怎么用mysql存储系统数据库_mysql数据库之基本操作和存储引擎
  6. j - cyk追楠神系列一_阿迪达斯双十一携手脱口秀大咖,开启“羽绒不服·不服请就位”专场直播 - 消费...
  7. 计算机专业人大学排名,计算机专业学校排名哪些大学计算机专业比较好
  8. 收集服务器配置资源信息
  9. c#中string的操作
  10. 《OKR源于英特尔和谷歌的目标管理利器》读书笔记