零基础 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
    

![模拟真人鼠标轨迹算法(支持C++/Python/易语言)[鼠标轨迹API简介]-猿说编程](https://winsdk.cn/wp-content/uploads/2024/11/image-3.png)








暂无评论内容