C语言之枚举

1:什么是枚举

枚举在C语言中其实就是一些符号常量集,简单来说,枚举就是定义了一些符号(字符串),这些字符的本质就是int类型的常量,每个符号和一个常量相绑定,那么这个符号就成为了一个自定义的识别码,对编译器来说对枚举的认知就是符号常量所绑定的那个int类型的数。直白来讲,枚举就是自己定义一些符号,然后这些符号对应int类型的数,对于程序员来讲,这些符号可以帮助程序员理解代码,而对于编译器来讲,编译器是不认识我么定义的枚举符号的,编译器只认识这个枚举变量所对于的int类型的数

2:枚举的作用

enum ER
{
    error;
    right;
}
int E_or_R(int a , int b)
{
    if(a>b)
    {
        return right;
    }
    else
    {
        return error;
     }
    
}

int main(void)
{
    printf("plese input a & b \n");
    scanf("%d%d",&a,&b);
    int c = E_or_R(a , b);
    if(c==right)
    {
        printf("a>b \n");
    }
    else(c==error)
    {
        printf("a<=b \n");
    }
    return 0;
}

如上面的代码所示,我们通过枚举元素right和error来判断函数E_or_R()返回值,这样就可以很直观地看清楚代码,(因为一般人觉得函数执行成功返回1,函数执行失败返回1,但是不免有人写代码时会把函数执行成功返回0,函数执行失败返回1)。

3:枚举和宏定义的区别

我们知道,宏定义也是用来标示一些参数,让程序员能更直观地看懂代码的方法,但是枚举和宏定义又有区别,比如宏定义是分散定义的,而采用枚举则可以集中定义在一个枚举变量里面,比如我现在要用 SUN MON 等来定义一周的星期

采用红定义的方法是

#define  SUN 0 
#define  MON 1
......
#define   SAT 6

而采用枚举的方法

enum week
{
    SUN,        // SUN = 0
    MON,        // MON = 1;
    TUE,
    WEN,
    THU,
    FRI,
    SAT,
};

总上所述:

当我们要定义的常量是一个有限集合时(譬如一星期有7天,譬如一个月有31天,譬如一年有12个月····),最适合用枚举。(其实宏定义也行,但是枚举更好)

时间: 2024-10-13 11:41:49

C语言之枚举的相关文章

黑 马 程 序 员_视频学习总结&lt;C语言&gt;----06 枚举

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数.当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型.比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天.夏天.秋天.冬天.   二.枚举类型的定义 一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……}; en

c语言中枚举的使用

枚举的定义:  enum  [枚举名] {美剧类型列表}: 说完了声明枚举,我们开始考虑具 “枚举常量”  代表什么?   通过上边的定义 我们可以写出枚举的基本写法(ps: [] 代表可选): 1. 声明 使用 enum Weekday { sun, mon, tue, wed, thu, fri, sat }; // ok enum Weekday weekday,weekend; 2. 声明 使用 enum Weekday { sun, mon, tue, wed, thu, fri, s

【学习笔记】【C语言】枚举

一.枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数.当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型.比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天.夏天.秋天.冬天.1.一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……}; 例如:enum Season {    spring,     summer,     autumn,     Winter}; 二.使用注意 1> C语言编译器会将枚举元素(sp

[C语言 - 8] 枚举enum

枚举是c语言中得一种基本数据类型,不是数据结构 用于声明一组常数 1. 3中枚举变量的方式 a. 先定义类型, 再定义变量 b. 同时定义类型和变量 c. 匿名定义 enum Season {Spring, Summer, Autumn, Winter}; enum Season s = Spring; 已经定位为枚举的变量名,不能用作其他的变量 int Spring = 44;//error 2. 默认值为从0到N得正整数 赋值 enum {Spring, Summer, Autumn=11,

黑马程序员——c语言的枚举

一.枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数.当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型. 比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天.夏天.秋天.冬天. 二.枚举类型的定义 一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……}; 1 enum Season {spring, summer, autumn, winter}; 三.枚举变量的定义 前面只是定义了枚举类型,接下来就可以利用定义

C语言(七)枚举

一.枚举概念 1.简介 枚举是C语言中的一种数据类型,他可以用于声明一组常量. 当一个变量只有几个固定的可能取值时,可以将这个变量定义为枚举类型. 如:性别,天气,爱好,语言,年龄段等等. 2.枚举类型的定义 一般形式:enum 枚举名{枚举元素1,枚举元素2...} 3.枚举变量的定义 1)先定义枚举类型,再定义枚举变量. 2)定义枚举类型的同时定义枚举变量. 3)省略枚举类型,直接定义枚举变量. enum Season{spring,summer,autumn,winter}; enum S

C语言的枚举常量与枚举变量

最近复习C语言的时候发现自己对枚举类型印象很模糊,于是查了一下. 例:enum Boolean{NO,YES}; 其中 NO,YES是枚举常量: 我们也可以声明枚举类型的变量. 例: enum Boolean b; b = NO; 这里 b 是枚举变量,并且其值只能为Boolean枚举列表中定义的常量 若 b = 1; 则编译会报错 原文地址:https://www.cnblogs.com/harchar/p/10422604.html

C语言之枚举数据类型

枚举数据类型概述:1.枚举类型是C语言的一种构造类型.它用于声明一组命名的常数,2.当一个变量有几种可能的取值时,可以将它定义为枚举类型.3.枚举类型是由用户自定义的由多个命名枚举常量构成的类型,其声明形式为: 示例:enum tagDAYS {MON, TUE , WED, THU, FRI , SAT, SUN};1.enum tagDAYS是枚举类型,MON等是命名枚举常量.2.默认时枚举常量总是从0开始,后续的枚举常量总是前一个的枚举常量加一.3.如MON为0,TUE为1, .....

C语言之枚举的定义以及测试

#include <stdio.h> /*   定义方法1:只定义枚举类型,不定义变量 enum week {     SUN,        // SUN = 0     MON,        // MON = 1;     TUE,     WEN,     THU,     FRI,     SAT, }; */ /*定义方法2:同时定义枚举类型和变量 enum week {     SUN,        // SUN = 0     MON,        // MON = 1;