1、枚举的概念

枚举是C语言的一种构造数据类型。它用于声明一组命名的常数。当一个变量有几个固定的取值时,可以将这个变量定义为枚举类型。比如季节(春天,夏天,秋天,冬天)就可以定义为枚举类型。

2、枚举类型的定义

一般形式:enum 枚举名 {元素1, 元素2, ...};

// 定义了一个枚举类型

enum Season {spring, summer, autumn, winter};

void main() {

// 定义了 一个枚举变量,并赋值

enum Season s = summer;

}

也可以像结构体一样定义类型时顺便定义变量,并赋值

// Season枚举

enum Season {

spring,

summer,

autumn,

winter

} s = summer;

C语言编译器会将枚举变量当做整型常量来处理

void main() {

// spring=0,summer=1,autumn=2,winter=3

eumn Season {spring, summer, autumn, winter} s = summer;

printf("%d\n", s);    // 输出:1

}

给枚举类型赋值整型

void main() {

// spring=0,summer=3,autumn=4,winter=5

eumn Season {spring, summer=3, autumn, winter} s = autumn;

printf("%d\n", s);    // 输出:4

}

c语言enum能自定义吗,18、C语言 —— 枚举enum相关推荐

  1. c++ enum 给定类型_C++11作用域内枚举enum

    在C++11之前的枚举(enum),是没有办法两个枚举(enum)内有相同枚举名的.如果还不知道C++中枚举(enum)是什么,可以看这篇:枚举enum 如:苹果和桔子都有大,中,小.写个代码来说明下 ...

  2. c语言算ex自定义函数,用C语言写定积分的通用函数:sin(x),cos(x),eX.

    /************************************************************/ /*sin,cos,exp函数已经存在于系统的数学函数库中,程序开头需要定 ...

  3. Java枚举(Enum)类型使用的正确姿势

    关于Java Enum的介绍及原理参见 Java枚举(Enum)类型的基本介绍与原理探求 Enum类型的基本使用 定义一个枚举类的主要作用就是在逻辑代码中对某个变量的值进行比较.同样以季节的枚举类Se ...

  4. C语言中的自定义类型

    C语言中的自定义类型 (一)结构体 结构体的声明 结构体是一些值的集合,这些值称为成员变量,结构体的成员可以是不同类型的变量: 结构体的声明 struct tag { member-list; }va ...

  5. C语言入门系列 - 自定义函数

    C语言入门系列 - 自定义函数 第一节 C 语言基础以及基本数据类型 第二节 C 语言运算符 第三节 C 语言控制语句 第四节 C 语言自定义函数 第五节 C 语言修饰变量的关键字 第六节 C 语言构 ...

  6. 【C语言三种自定义类型】

    目录 前言 一.结构体(struct) (一)结构体的声明 1.结构的声明 2.特殊的声明(不完全声明) 3.结构体的自引用 4.结构体的初始化与赋值 5.结构体内存对齐 内存对齐规则: 6.修改默认 ...

  7. C语言基础12——自定义类型。结构体、位段、枚举、联合体。通讯录

    目录 结构体 结构体的声明 结构体自引用 结构体变量的定义.初始化以及访问 结构体内存对齐 结构体传参 位段 枚举 枚举是什么? 枚举的声明 枚举的优点 枚举类型的大小 联合体 联合体类型的定义 联合 ...

  8. R语言ggplot2可视化自定义多个图例(legend)标签之间的距离实战(例如,改变数据点颜色和数据点大小图例之间的距离)

    R语言ggplot2可视化自定义多个图例(legend)标签之间的距离实战(例如,改变数据点颜色和数据点大小图例之间的距离) 目录

  9. R语言ggplot2可视化自定义图例(legend)方框(box):所有图例没有方框、每个图例分别在不同的方框中、多个图例放置在同一个方框中

    R语言ggplot2可视化自定义图例(legend)方框(box):所有图例没有方框.每个图例分别在不同的方框中.多个图例放置在同一个方框中 目录

最新文章

  1. Apache如何将HTTP重定向到HTTPS
  2. jvm中有哪些内存区域会发生内存溢出
  3. 手写自己的MyBatis框架-V2.0结果集处理
  4. MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法(芯片解锁 解除读报护)
  5. 华为光伏usb适配器_华为系列原装充电器拆解第三弹:比亚迪版华为10W充电器
  6. 最帅的我救了两条很丑的狗
  7. 听说你是程序员的,给我做个网站呗
  8. sshpass批量执行操作
  9. c++语言socket udp聊天程序,使用C/C++实现Socket聊天程序
  10. linux 脚本使用第一篇
  11. 大学计算机基础上机实践报告,大学计算机基础上机实践报告书册.doc
  12. http://blog.csdn.net/zbyufei/article/details/6096881
  13. Java验证身份证号
  14. webstorm或phpstorm配置CSS或JS压缩
  15. crm系统价格多少?
  16. 学vue前你需要知道的:vue生态圈
  17. 单证与双证高级证书与普通证书的区别与联系
  18. 爱奇艺qsv视频下载后怎么转换为3gp格式
  19. 无法启动此程序,因为计算机中丢失xinput1-3.dll,绝地求生计算机中丢失xinput1_3.dll解决方法...
  20. 基于Doc2vec训练句子向量

热门文章

  1. mysql sleep连接过多的问题解决
  2. Python学习之==json处理
  3. Bootstrap相关优质项目学习清单
  4. node.js基础 1之 HTTP事件回调进阶(HTTP模块)
  5. hdoj5317【素数预处理】
  6. ubuntu 下root用户无法访问声音设备的解决方案
  7. Sublime Text 快捷键
  8. OpenCV的minEllipse函数(求轮廓的外接椭圆)一定要判断输入点是否大于5个
  9. 在XCode中使用SVN
  10. java运行过程_Java执行过程