温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何掌握C语言数据类型枚举enum

发布时间:2021-10-22 17:32:51 来源:亿速云 阅读:88 作者:iii 栏目:开发技术

本篇内容主要讲解“如何掌握C语言数据类型枚举enum”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何掌握C语言数据类型枚举enum”吧!

    一、枚举类型的定义

    enum Day//enum Day是一种类型
    {
    	Mon,//周一到周日这些叫枚举的可能取值,也叫枚举常量
    	Tue,
    	Wed,
    	Thur,
    	Fri,
    	Sat,
    	Sun,
    };

    上述代码定义的enum Day是一种枚举类型,{}中内容是枚举类型的可能取值,也可叫作枚举常量。
    这些枚举常量都是有值的,默认从0开始,依次往后递增1,如果你愿意赋值也是可以的。

    代码如下:

    #include<stdio.h>
    enum Color//enum Color是一种类型
    {
    	red,
    	green,
    	blue
    };
    int main()
    {
    	printf("%d\n", red);
    	printf("%d\n", green);
    	printf("%d\n", blue);
    }

    不赋初值打印0, 1,2

    如何掌握C语言数据类型枚举enum

    #include<stdio.h>
    enum Color//enum Color是一种类型
    {
    	red=2,
    	green,
    	blue=6
    };
    int main()
    {
    	printf("%d\n", red);
    	printf("%d\n", green);
    	printf("%d\n", blue);
    }

    赋初值后打印初值内容,如果你有一个没有赋值,会紧接上一个赋值内容+1
    这里green并没有赋值,但我们知道red是2,按照枚举规则,green会在red的基础上加1变成3,注意,blue是有赋值的,所以blue不需要在green的基础上加1,blue就是6

    如何掌握C语言数据类型枚举enum

    注意:因为是枚举{}内的叫作枚举常量,常量是不能改的,比如你在main函数里进行赋值操作,red=9;这个铁铁的会报错,一定要区分枚举初始化和赋值的区别。

    二、枚举类型的使用

    2.1创建变量

    我们前面说过,enum Day、enum Color这种叫作枚举类型,既然它是类型,它就可以创建变量,

    代码如下:

    #include<stdio.h>
    enum Color//enum Color是一种类型
    {
    	red,
    	green,
    	blue
    };
    int main()
    {
    	enum Color a = 1;
    	enum Color b = green;
    }

    我们用枚举类型创建了变量a和b,这里需要注意的是,把1赋给a,在c语言环境下编译器不会报错,但c++下就会出现问题,编译器会认为1是一个整形,你赋给一个枚举类型显然是有问题的。所以我们这里最好把枚举可能取值赋给枚举变量。

    2.2一些优点

    到这里大家可能会有一些疑惑,我们可以用#define来定义常量,为什么要用枚举呢?我们来看一下它们的区别:

    代码如下(示例):

    #define red 2
    #define green 4
    #define blue 8
    
    enum Color
    {
    	Red,
    	Green,
    	Blue
    };

    首先由2.1知,c++环境下,枚举类型会对其他类型的赋值进行警告,而#define定义的常量是没有类型的;

    第二就是防止命名污染,举个栗子:#define red 2,这是全局范围命名red为2,那假如你其他地方用到2这个数字,到时候到底是2本身还是red的意思?而枚举定义的red是枚举类型的一个可能取值,不会影响到其他数据;

    第三,枚举是可以调试的,调试的过程中你大可输入枚举类型创建的变量,但是#define red 2这种,red如果在代码中会被自动替换为2,你无法用red进行监视
    第四,就是可以一次定义多个枚举常量

    到此,相信大家对“如何掌握C语言数据类型枚举enum”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI