C语言笔记(枚举)
关于枚举,在我以前写程序的时候,几乎是没有使用过的,只是偶尔会在一下别人写的驱动库中有看到过。今天看了朱老师的视频,准备将枚举相关的东西总结一下。
一、关于枚举,你需要知道
(1)在C语言中就是一些符号常量的集合。
(2)枚举中的符号本质上是int类型的常量。
(3)使用枚举时我们往往关注是符号本身,而不是符号的值是多少。
(4)枚举可以将一些相关联的符号封装在一个枚举中,是一种多选一的。
二、代码实践操作
【例1】:枚举定义(方法1)
#include <stdio.h> // 枚举定义:方法一
enum week
{
SUN,
MON,
TUE,
WEN,
THU,
FRI,
SAT,
}; int main(void)
{
// 测试:方法一
enum week today; // 声明
today = MON;
printf("today = %d.\n", today); // 结果是:today = 1. return ;
}
结果:

分析:说明枚举使用是可以直接用MON,而不需要使用“today.MON”,同时也说明,枚举中的定义过了符号不能在另一个符号中再定义。
【例2】:枚举定义(方法2)
// 枚举定义:方法二
enum week
{
SUN,
MON,
TUE,
WEN,
THU,
FRI,
SAT,
}today,yesterday;
说明:使用的方法同上。
【例3】:枚举定义(方法3)
// 枚举定义:方法三
enum
{
SUN,
MON,
TUE,
WEN,
THU,
FRI,
SAT,
}today,yesterday;
说明:看到这里是不是想起了结构体,例3与例2不同的是没有了week,但是对于枚举today的使用方法还是一样的。千万不要以为enum后面没有了东西就是错的了,这样定义也是正确的。
【例4】:枚举定义(方法4)typedef的介入
// 枚举定义:方法四
typedef enum week
{
SUN,
MON,
TUE,
WEN,
THU,
FRI,
SAT,
}WK; int main(void)
{
// 测试:方法四
WK today;
today = SAT;
printf("today = %d.\n", today); return ;
}
结果:
分析:将以上的程序结合学过的结构体的typedef,就会发现定义一个枚举时(wk today;这句就很好理解了)。
注:以上程序是根据“朱老师物联网视频”中参考得到,特此申明。
C语言笔记(枚举)的更多相关文章
- c语言学习笔记 - 枚举类型
今天学习了c语言的枚举类型的使用,可能是PHP里没使用过,开始看的时候还是觉得有点怪,后来做了下例子才理解,这里做个笔记记录一下. #include <stdio.h> enum anim ...
- 014-预处理指令-C语言笔记
014-预处理指令-C语言笔记 学习目标 1.[掌握]枚举 2.[掌握]typedef关键字 3.[理解]预处理指令 4.[掌握]#define宏定义 5.[掌握]条件编译 6.[掌握]static与 ...
- 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错
原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...
- R语言笔记
R语言笔记 学习R语言对我来说有好几个地方需要注意的,我觉得这样的经验也适用于学习其他的新的语言. 语言的目标 我理解语言的目标就是这个语言是用来做什么的,为什么样的任务服务的,也就是设计这个语言的动 ...
- R语言笔记4--可视化
接R语言笔记3--实例1 R语言中的可视化函数分为两大类,探索性可视化(陌生数据集,不了解,需要探索里面的信息:偏重于快速,方便的工具)和解释性可视化(完全了解数据集,里面的故事需要讲解别人:偏重全面 ...
- Scala语言笔记 - 第一篇
目录 Scala语言笔记 - 第一篇 1 基本类型和循环的使用 2 String相关 3 模式匹配相关 4 class相关 5 函数调用相关 Scala语言笔记 - 第一篇 最近研究了下scala ...
- Go 语言笔记
Go 语言笔记 基本概念 综述 Go 语言将静态语言的安全性和高效性与动态语言的易开发性进行有机结合,达到完美平衡. 设计者通过 goroutine 这种轻量级线程的概念来实现这个目标,然后通过 ch ...
- Java笔记---枚举类和注解
Java笔记---枚举类和注解 一.枚举类 自定义枚举类 方式一:JDK5.0之前自定义枚举类 class Seasons { //1. 声明Seasons对象的属性 private final St ...
- 013-结构体-C语言笔记
013-结构体-C语言笔记 学习目录 1.[掌握]返回指针的函数 2.[掌握]指向函数的指针 3.[掌握]结构体的声明 4.[掌握]结构体与数组 5.[掌握]结构体与指针 6.[掌握]结构体的嵌套 7 ...
- 011-指针(上)-C语言笔记
011-指针(上)-C语言笔记 学习目标 1.[掌握]字符串常用函数 2.[掌握]指针变量的声明 3.[掌握]指针变量的初始化 4.[掌握]函数与指针 5.[掌握]指针的数据类型 6.[掌握]多级指针 ...
随机推荐
- poj3294 Life Forms(后缀数组)
[题目链接] http://poj.org/problem?id=3294 [题意] 多个字符串求出现超过R次的最长公共子串. [思路] 二分+划分height,判定一个组中是否包含不小于R个不同字符 ...
- [转载]你需要知道的 16 个 Linux 服务器监控命令
转载自: 你需要知道的 16 个 Linux 服务器监控命令 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 ...
- J - Fire!
题目大意: 这是一个放火逃生的游戏,就是给出来一个迷宫,迷宫里面有人‘J’和火焰‘F’当然这些火焰可能不止一处,然后问这个人最快从迷宫里面逃出来需要多久 /////////////////////// ...
- freemarker入门教程
FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输 ...
- linux 发邮件
一. centos yum 安装 1. yum install mailx vim /etc/nail.rc 添加网易163邮箱开放的需要认证的smtp服务器: set from=USER@16 ...
- PHP安全编程:主机文件目录浏览(转)
除了能在共享服务器上读取任意文件之外,攻击者还能建立一个可以浏览文件系统的脚本.由于你的大多数敏感文件不会保存在网站主目录下,此类脚本一般用于找到你的源文件的所在位置.请看下例: 01 <?ph ...
- 如何设置jsp默认的编码为utf-8
方法一: 文件里写: <%@ page contentType="text/html; charset=UTF-8" %> 方法二: 选择window –> P ...
- [转] doxygen使用总结
doxygen [功能] 为许多种语言编写的程序生成文档的工具. [举例] *生成一个模板配置文件,模板文件中有详细的注释: $doxgen -g test 这样,会生成一个test文件,1500多行 ...
- [转] C语言多维数组与多级指针
http://c.biancheng.net/cpp/html/477.html 多维数组与多级指针也是初学者感觉迷糊的一个地方.超过二维的数组和超过二级的指针其实并不多用.如果能弄明白二维数组与二级 ...
- HTML5之选择上传图片文件