零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 面向对象
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 设计模式
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ STL
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 技术杂谈
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 常用函数
一.枚举enum简介
枚举:将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。枚举类型定义:
enum 枚举名
{
枚举值表
};
在枚举值表中应列出所有可用值,也称为枚举元素
枚举值是常量,不能在程序中用赋值语句再对它赋值(不能修改)
枚举元素本身由系统定义了一个表示序号的数值从 0 开始顺序定义为0,1,2 …
举个例子:
//枚举下标重 0 开始
enum week{ Mon = 0,
Tues , //默认 Tues = 2
Wed , //默认 Wed = 3
Thurs , //默认 Thurs = 4
Fri , //默认 Fri = 5
Sat , //默认 Sat = 6
Sun //默认 Sun = 7
};
//枚举下标重 1 开始
enum week{ Mon = 1,
Tues , //默认 Tues = 2
Wed , //默认 Wed = 3
Thurs , //默认 Thurs = 4
Fri = 50,
Sat , //默认 Sat = 51
Sun //默认 Sun = 52
};
二.枚举enum声明变量
1.枚举类型的定义和变量的声明分开
enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY yesterday;
enum DAY today;
enum DAY tomorrow; //变量 tomorrow的类型为枚举型enum DAY
enum DAY good_day, bad_day; //变量good_day和bad_day的类型均为枚举型enum DAY
2.类型定义与变量声明同时进行
enum //跟第一个定义不同的是,此处的标号DAY省略,这是允许的。
{
saturday,
sunday = 0,
monday,
tuesday,
wednesday,
thursday,
friday
} workday; //变量workday的类型为枚举型enum DAY
enum week { Mon=1, Tue, Wed, Thu, Fri Sat, Sun} days; //变量days的类型为枚举型enum week
enum BOOLEAN { false, true } end_flag, match_flag; //定义枚举类型并声明了两个枚举型变量
3.用 typedef 关键字将枚举类型定义成别名,并利用该别名进行变量声明
typedef enum workday
{
saturday,
sunday = 0,
monday,
tuesday,
wednesday,
thursday,
friday
} workday; //此处的workday为枚举型enum workday的别名
//定义变量
workday today, tomorrow; //变量today和tomorrow的类型为枚举型workday,也即enum workday
//enum workday中的workday可以省略:
typedef enum
{
saturday,
sunday = 0,
monday,
tuesday,
wednesday,
thursday,
friday
} workday; //此处的workday为枚举型enum workday的别名
//定义变量
//变量today和tomorrow的类型为枚举型workday,也即 enum workday
workday today, tomorrow;
三.枚举enum实战
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言 枚举enum声明变量和使用(二)
//@Time:2021/11/02 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/
#include<stdio.h>
enum Season
{
spring, summer=100, fall=96, winter
};
typedef enum
{
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
}
Weekday;
void main()
{
/* Season */
printf("%d /n", spring); // 0
printf("%d, %c /n", summer, summer); // 100, d
printf("%d /n", fall+winter); // 96+97=193
printf("%d bytes/n", sizeof(spring)); // 4 bytes
/* Weekday */
printf("sizeof Weekday is: %d /n", sizeof(Weekday)); //sizeof Weekday is: 4
Weekday today = Saturday;
Weekday tomorrow;
if(today == Monday)
tomorrow = Tuesday;
else
tomorrow = (Weekday) (today + 1); //remember to convert from int to Weekday
四.猜你喜欢
- C语言 数组下标越界和内存溢出区别
- C语言 使用指针遍历数组
- C语言 指针和数组区别
- C语言 指针数组和数组指针区别
- C语言 野指针
- C语言 函数值传递和址传递
- C语言 函数不定长参数
- C语言 函数指针
- C语言 指针函数
- C语言 回调函数 callback
- C语言 #pragma once
- C语言 #include <> 与 #include “” 区别
- C语言 const 修饰函数参数
- C语言 const 和 define 区别
- C语言 #运算符
- C语言 ##运算符
- C语言 __VA_ARGS__
- C语言 ##__VA_ARGS__
- C语言 函数不定长参数 ##__VA_ARGS__经典案例
- C语言 va_start / va_end / va_arg 自定义 printf 函数
- C语言 main 函数
- C语言 main 函数参数 main(int argc, char *argv[])
- C语言 局部变量
- C语言 全局变量
- C语言 全局变量和局部变量区别
- C语言 static
- C语言 extern
- C/C++ Unicode 和多字节区别
- C/C++ wprintf 输出中文乱码
- C/C++ char 和 wchar_t 相互转换
- C/C++ sqrt函数
- C/C++ NaN(Not a Number)
- C语言 枚举enum简介(一)
- C语言 枚举enum声明变量和使用(二)
ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容