一文攻破枚举类型-C语言
一文攻破枚举类型-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
为枚举类型workday
和weeked
被定义为枚举变量sun, MON, ......, SAT
称为枚举元素或枚举常量- 枚举变量
workday
和weeked
的值只能是SUN
到SAT
之一
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语言相关推荐
- 一文攻破共用体-C语言
一文攻破共用体-C语言 1 什么是共用体 由几个不同的变量共享同一段内存的结构,称为"共用体"类型的结构. 例如,把一个短整型变量.一个字符型变量和一个实型变量放在同一个地址开始的 ...
- 一文攻破结构体-C语言
一文攻破结构体-C语言 1 什么是结构体 1.1 结构体类型 结构体(structure)是由不同类型数据组成的组合型的数据结构,可以看做变量的集合.结构体也是一个数据类型,就像和 int.char一 ...
- c语言 字符串 枚举类型,C语言入门 — 枚举类型
1.C语言入门 - 枚举类型,枚举类型的关键字是enum, enum是用来定义一组整型数值,其实定义模型如下: enum { 常数名称1 = 0, //起始值取0,这里的值可以为0,正数,负数. 常数 ...
- c枚举类型enum例题_C语言--enum,typedef enum 枚举类型详解
原文:http://z515256164.blog.163.com/blog/static/32443029201192182854300/ 有改动 C语言详解 - 枚举类型 注:以下全部代码的执行环 ...
- c语言基础知识_结构体访问,共同体,枚举类型
C语言结构体变量的引用: 对于定义的结构体类型的普通变量,访问其成员用圆点运算符("."),标准访问方式如下: 结构体变量名.成员名 对于定义为指向结构体的指针变量,用箭头运算符( ...
- c语言枚举法礼泡声次数,C语言枚举类型举例
C语言枚举类型举例 注:以下全部代码的执行环境为VC++ 6.0 宏和枚举的区别 宏和枚举之间的差别主要在作用的时期和存储的形式不同,宏是在预处理的阶段进行替换工作的,它替换代码段的文本,程序运行的过 ...
- c语言 枚举类型 uint32_浅谈C语言枚举类型 | 附自创用法分享
经济学家说过,路边是不会有100元的:但如果有,你还是要捡起来. 同理,在貌似万物免费的网络时代,你是很难找到有针对性的好资料:但是如果有,希望你能认真学习吸收. 比如笔者今天写的这一篇 一 今天这篇 ...
- c语言 枚举类型 uint32_最全面C语言数据基本数据类型解析
前言 上一章节主要是详细介绍了C语言system函数实现一个自动关机程序,不清楚的可以回顾一下哦.本章节主要针对于C语言基本数据类型解析一个详细介绍. C语言基本数据类型是什么? c编程语言中的数据类 ...
- C语言枚举类型(enum)的各种用法
文章目录 一. 基本概念 二.枚举类型的使用 三.枚举案例 一. 基本概念 枚举enum就是英文enumerate的缩写,也就是列举.排列说明的意思.枚举类型是C语言中的一种特殊类型,枚举类型可以让我 ...
最新文章
- 炉石整活拔线方法_炉石传说:采访仰天莫笑——黄金总决赛再度捧杯后的变化与成长...
- PHP 权威代码风格规范
- dhcp snooping+IPSG的一些理解
- 人脸质量评估网络推荐
- iis php 图片无法显示,iis php 图片无法显示怎么办
- 卷积神经网络中不同类型的卷积方式介绍
- 【机器学习基础】半监督算法概览(Python)
- 大小仅1MB,超轻量级通用人脸检测模型登上GitHub趋势榜
- 使用dockerfile自动化构建镜像
- 周围剃光头顶留长发型_?22岁亿万富翁凯莉登杂志,顶着5斤“鸟窝头”凹造型,绝代艳后...
- 轮胎的体积与面积计算
- 装机经验-某些服务器安装系统困难,需要BIOS设置
- DoYourData AppUninser Mac版(Mac应用卸载工具)
- 将Python文件打包成so文件
- solidworks工程图剖视图没有从默认的A开始解决办法
- 电脑引导,电脑常见开机引导错误的解决方法
- 异常:Mapper method 'com.***.delByNumber' has an unsupported return type: class java.lang.String
- Web前端HTML-CSS学习笔记
- PID控制算法实践应用(一):PID算法的离散化
- 【Unity游戏开发】动画系统(三)按钮动画
热门文章
- 软设考试笔记--UML建模
- 手机适配鸿蒙教程,鸿蒙系统支持手机介绍
- 科技论文的几种类型-如何写好科技论文之我见(二)
- 世界四大重要检索系统简介
- 怎么用mysql存储系统数据库_mysql数据库之基本操作和存储引擎
- j - cyk追楠神系列一_阿迪达斯双十一携手脱口秀大咖,开启“羽绒不服·不服请就位”专场直播 - 消费...
- 计算机专业人大学排名,计算机专业学校排名哪些大学计算机专业比较好
- 收集服务器配置资源信息
- c#中string的操作
- 《OKR源于英特尔和谷歌的目标管理利器》读书笔记