教程集 www.jiaochengji.com
教程集 >  脚本编程  >  C语言  >  正文 C语言枚举类型学习笔记

C语言枚举类型学习笔记

发布时间:2018-09-24   编辑:jiaochengji.com
教程集为您提供C语言枚举类型学习笔记等资源,欢迎您收藏本站,我们将为您提供最新的C语言枚举类型学习笔记资源
枚举类型在C语言等计算机编程语言中是一种构造数据类型[1] 。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型,下面我们一起来看几个C语言枚举类型学习例子.

介绍

枚举可以根据Integer、Long、Short或Byte中的任意一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。该变量可使代码更加清晰,因为它可以描述特定的值

  ​枚举类型使一种基本数据类型,用于声明一组命名的常数,当一种变量有几种可能的取值使,可以定义为枚举类型。
    ​它的值为符号常量而不是字面值,这些类型的变量实际上以整型的方式存储,这些符号名实际值都是整型值。
 
​定义方式1:

    ​enum num{first,second,third,forth};
    ​enum num num1,num2; 类似struct的定义方式。

定义方式2:

​enum {first,second,third,forth} num1,num2;

​有些时候我们可以对这些符号名指定特定的整型值,比如:
    ​enum {first=1,second=2,third,forth},未指定的值默认比前一个符号大1。但是我们并不推荐这种赋值,这样会把枚举变量和整数混在一起,反而削弱了枚举类型的字面含义。

如何使用枚举类型:

​以第一种第一方式为例,num1,num2为枚举类型变量,但是这些变量每次只能有一个值,这个值使枚举类型定义中的first、second、third、forth四种,如果有些变量值的取值有限,并且我们想尽可能通过字面意思表达出来,使用枚举类型使最合适不过了。


看一个实际的例子:

enum enumex{
        first,
        second,
        third,
        forth,
    };

    enum enumex m_enumex;
    m_enumex = first;


    switch(m_enumex)
    {
        case first:printf("firstn");break;
        case second:printf("secondn");break;
        case third:printf("thirdn");break;
        case forth:printf("forthn");break;
        default: break;
}

我们完全可以根据不同情况下m_enumex的取值来安排我们的代码。在定义enum时,最后一个逗号可加可不加,加上会看着更清楚。

您可能感兴趣的文章:
C语言枚举类型学习笔记
c语言学习的简要笔记
Python3枚举类比较有什么限制?
Golang中对interface{}做type assertion和type switch学习笔记
学习golang开始前的准备工作
Java 和 C/C 中的char 类型长度学习笔记
PHP 枚举类型的管理与设计
C# 枚举类型转换字符串 Enum to string
python与c语法区别有哪些
详解MySQL数据类型之枚举类型ENUM的用法

[关闭]
~ ~