枚举 与 枚举的应用

 枚举 1
# include <stdio.h>

//只定义了一个数据类型,并没有定义变量, 该数据类型的名字是 enum WeekDay , 默认 值是用0开始
// MonDay = 0 , TuesDay = 1 .... , SunDay = 6
enum WeekDay
{
    MonDay, TuesDay, WednesDay, ThursDay, FriDay, SaturDay, SunDay
};

int main(void)
{
    //int day; //day定义成int类型不合适
    enum WeekDay day = SunDay;
    printf("%d\n", day);

    return 0;
}
 枚举 2
# include <stdio.h>

//只定义了一个数据类型,并没有定义变量, 该数据类型的名字是 enum WeekDay , 值是用A的ASC2码开始
// MonDay = 65 , TuesDay = 66 ....
enum WeekDay
{
    MonDay = ‘A‘, TuesDay, WednesDay, ThursDay, FriDay, SaturDay, SunDay
};

int main(void)
{
    //int day; //day定义成int类型不合适
    enum WeekDay day = SunDay;
    printf("%d\n", day);

    return 0;
}
对枚举的应用
/*
    对枚举的应用!
*/
# include <stdio.h>

enum weekday
{
    MonDay, TuesDay, WednesDay, ThursDay, FriDay, SaturDay, SunDay //考虑将WednesDay改为WednesDay = 5之后,MonDay与SunDay的值是多少?
};

void f(enum weekday i) //本函数的目的只是期望接受0~6之间的数字,将形参i定义为枚举型,可以有效的避免传参失误的问题
{
    switch (i)
    {
    case 0:
        printf("MonDay!\n");
        break;
    case 1:
        printf("TuesDay!\n");
        break;
    case 2:
        printf("WednesDay!\n");
        break;
    case 3:
        printf("ThursDay!\n");
        break;
    case 4:
        printf("FriDay!\n");
        break;
    case 5:
        printf("SaturDay!\n");
        break;
    case 6:
        printf("SunDay!\n");
        break;
    }
}

int main(void)
{
    f(FriDay); //虽然FriDay本质上就是5,但直接写成f(5);就是错的, 也不能写成f(10); 考虑为什么! 嘿嘿

    return 0;
}

枚举 与 枚举的应用,布布扣,bubuko.com

时间: 2024-07-28 18:34:24

枚举 与 枚举的应用的相关文章

C#循环枚举得到枚举的注释和值

首先定义一个枚举 /// <summary> /// 枚举注释的自定义属性类 /// </summary> public class EnumDescriptionAttribute : Attribute { private string m_strDescription; public EnumDescriptionAttribute(string strPrinterName) { m_strDescription = strPrinterName; } public str

深度分析Java的枚举类型—-枚举的线程安全性及序列化问题

原文:深度分析Java的枚举类型--枚举的线程安全性及序列化问题 枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由什么类维护的呢,我们简单的写一个枚举: public enum t { SPRING,SUMMER,AUTUMN,WINTER; } 然后我们使用反编译,看看这段代码到底是怎么实现的,反编译(Java的反编译)后代码内容如下: public fin

枚举|标志枚举+|(或)和&amp;(与)运算|类型转换|值类型和引用类型|传参|异常|垃圾回收

枚举部分 enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型. 通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它. 但是,还可以将枚举嵌套在类或结构中.默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1. 例1: //此枚举的默认值是从0开始 enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri}; 例2: //此枚举的默认值是从1开始,下标为3的tue值为7,从下标3开始

什么是枚举及枚举的使用场合

这里主要讲解的是Java的枚举类型 什么是枚举? 以我的理解答:枚举是我们自己定义的一个集合,比如说我们数学里面所学的集合A={1.2.3},当我们要使用A这个集合的时候,我们只能够使用集合A里面的1.2.3这三个元素,不是A里面的元素我们就不可以使用. 同样,枚举和这个集合是类似的,当我们定义了一个枚举类型的时候,我们声明它里面有几个元素,在我们使用这个枚举的时候,我们只能够使用它有的元素,没有的元素我们是无法使用,系统就会报错! 枚举还有一个特点,就是可以代表数值,比如说第一个定义的元素对应

swift枚举_003_swift枚举类型

//: Playground - noun: a place where people can play import UIKit //------枚举---------// //1.Swift中的枚举 //描述一个人的性别(0:男,1:女,2:不详) //enum Sex { //枚举类型 // case Male //枚举值 // case Female // case Unknown // //} // ////定义枚举变量 //var mySex : Sex = Sex.Female /

C# 遍历枚举(枚举是目的,遍历(获取)是手段)

C#中,如何获取(遍历)枚举中所有的值: public enum Suits { Spades, Hearts, Clubs, Diamonds, NumSuits } private static void Main(string[] args) { foreach (Suits suit in Enum.GetValues(typeof(Suits))) { Console.WriteLine((int)suit+ ":" + suit); } } 转载:https://www.c

C# 基础(一) 访问修饰符、ref与out、标志枚举等等

C# 基础(一) 访问修饰符.ref与out.标志枚举等等 一.访问修饰符 在C#中的访问修饰符有:private.protected.internal.public public:公共类型,同一程序集或其他程序集都可以访问此成员 private:私有类型,同一类里或结构里才可以访问此成员 protected:保护类型,同一类里或者派生类中才可以访问此成员 internal:内部类型,只有在同一程序集才可以访问此成员 访问性不一致:子类的访问权限不能比父类高.防止暴露父类的信息.. 二.stat

Java枚举测试

Java枚举定义 枚举值定义,在构造方法赋值,重写toString(); 测试类 package com.yjm.test; enum TestEnum { ye("yellow"),re("red"),gr("green"); private String str; public String getStr() { return this.str; } public void setStr(String str) { this.str = st

枚举 结构 .....

这两周我都不知道在学什么,感觉很乱,没法把知识连接起来.总的来说,虽然知识零零散散,但是学到了很多,这两周总共做了三个小项目, 通过做小项目,懂得开发一个游戏的基本流程. 这两周的知识大概包括窗体的控件运用及窗体的基础知识.枚举.结构.多线程(非重点)......... 结构的三个重点:1.日期   2.时间段  3.颜色 eg:1.将字符串转换为日期形式:DateTime   dt=new  DateTime(   "2015-5-18"); 2.日期属性:DateTime   dt