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,
    sat
}weekday,weekend;

   

   说完了声明枚举,我们开始考虑具 “枚举常量”  代表什么?

    1. 我们举个例子说明

#include <stdio.h>
enum Weekday {
    sun = 7,
    mon = 0,
    tue = 1,
    wed = 3,
    thu,
    fri,
    sat
}weekday,weekend;

int main(int argc, char *argv[])
{
    printf("%d\n",weekday=sun);
    printf("%d\n",weekday=mon);
    printf("%d\n",weekday=tue);
    printf("%d\n",weekday=wed);
    return 0;
}

   

    我们 总结一下陈词:

  •   C编译对枚举类型的枚举元素按照常量处理,所以称之为枚举常量。
  • 每一个枚举元素都代表一个整数,C语言编译是按照定义时的顺序默认它们的值为0,也就是说如果
  • 开始的时候如果未对  “sun” 赋初始值的话, “sun”即为 0; 后边的数字为 1,2,3,4,5,6。

  在这里我们说一说 枚举需要注意的一些问题

    

#include <stdio.h>
enum Weekday {
    sun = 7,
    mon = 0,
    tue = 1,
    wed = 3,
    thu,
    fri,
    sat
}one,two,three;

int main(int argc, char *argv[])
{
    one = mon;
    two = tue;
    three = wed;
    printf("%d  %d  %d\n",one,two,three);
    return 0;
}

      1. 因为枚举值是常量,不能赋值,所以下面的写法是错误的

    sun = 5;
    mon = 2;

    只能把枚举值赋予枚举变量,例如:

     
     a = sun;
     b = sat;
 
      2.同时,不建议把数值直接赋给枚举变量,例如
    a= 1;
    b= 6;  
 

    如果一定要使用数值,必须使用强制类型转换:

    
  a = (enum week)1;
  b = (enum week)6;

    因为已经使用了 sun、mon…sat 几个标识符,所以不能再使用它们来定义变量等,例如:

    
 int sun = 3;
 char mon;

    都是错误的。

   

时间: 2024-11-06 09:15:17

c语言中枚举的使用的相关文章

Swift 中枚举

Swift 中枚举高级用法及实践 字数11017 阅读479 评论0 喜欢20 title: "Swift 中枚举高级用法及实践"date: 2015-11-20tags: [APPVENTURE]categories: [Swift 进阶]permalink: advanced-practical-enum-examples 原文链接=http://appventure.me/2015/10/17/advanced-practical-enum-examples/作者=Benedik

Java语言中的----枚举

day08 Java语言中的----枚举 一.概述: 什么是枚举?枚举有什么作用?我们又如何来使用这个枚举.其实枚举就是不可变的一些成员变量,比如:春夏秋冬.年.十二个月.颜色等等.都是一些固定的常量值.是用来创建预定义列表.枚举是和类是一个级别的.可以直接以类的方式来定义,也可以定义在类里面.同时也可以在定义枚举里面定义方法.变量.构造函数等等. 二.枚举: 实例一:         package www.com;                  //定义一个枚举.         enu

[转]C语言中自增自减运算符教学探究-中国论文网

摘要:C语言教学中,自增自减运算符运用得非常广泛,且具有一定的使用技巧和难度.在诸多运算符中,自增自减运算符是学生最难理解和最易出错的运算符.对自增自减运算符的功能和具体应用进行探究,以期为提高C语言教学效果提供帮助.中国论文网 http://www.xzbu.com/8/view-3865031.htm 关键词:C语言:自增自减运算符:教学效果 中图分类号:G434文献标识码:A文章编号:1672-7800(2012)012-0188-02 0引言 C语言编程设计中,若合理使用自增自减运算符,

从头开始-03.C语言中数据类型

基本数据类型 整形: Int 4字节 %d / %i Short 2字节 %hd Long 8字节 %ld Longlong 8字节 %lld Unsigned 4字节 % 浮点型 单精度 Float 4字节 %f 双精度 Double 8字节 %lf 字符  char   1字节   %c 枚举:当一个变量只用几个固定的取值的时候使用枚举 特点:先定义枚举类型,然后使用枚举类型定义枚举变量 作用:提高代码的可读性,方便程序员之间的交流 注意:枚举类型的实质是整形 枚举定义的每一个成员都代表一个

Swift语言中的泛型编程 【Generic】【Part 1】

泛型  泛型编程让你可以编写更具扩展性.易重用的功能,代码使用时的类型取决于你所定义的业务需求.你可以编写避免重复的代码,目标更加清晰明确,风格抽象. 泛型是Swift语言的一项强大的特性,基本上所有的swift标准库都建立在泛型代码上.实际上,你在这本书的时候不知不觉地接触到泛型,它贯穿始终.例如Swift的数组和字典类型都是泛型集合.你可以创建用于存放整数值的数组,也创建数组存储字符串,其他所有能在Swift中创建的类型都可以创建到数组中.类似的,你可以创建字典来存储数值或其他指定的类型,毫

Swift语言中的属性,方法,下标脚本以及继承

从这篇章节起,Swift编程语言指南大部分的重要内容在于概念,代码并不是太多.理解Swift的面向对象理念,语法以及类结构,构造析构过程对于很好的应用Swift语言将会有比较大的帮助. 属性 存储属性 存储属性通常是那些可以通过直接赋值,或者直接访问成员能够获得的属性类型. 它有些要注意的地方: 若一个结构体被声明为常量,则子属性无法被修改了.在Objective-C中,我们总是无法修改结构体的子属性,但是swift却可以,不过这种情况是个例外,当你存储型属性是个结构体并且是个常量,那你就不要再

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

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

Java语言中学习数组、运算符、流程控制的一些理解

一.数组 1.数组的概念及作用 数组是相同数据类型的元素的集合:   数组本身是引用数据类型,即对象.但是数组可以存储基本数据类型,也可以存储引用数据类型. 例如: int [] a = new int [] {1,2,3,4,5,6,}; String [] s = new String [] {"小兔","小小兔","小小小兔",} : Employee [] e = Employee [10];(Employee是自定义类). 2.数组的声

C语言中的数据类型

C语言中基本的数据类型有: 整型: 分为有符号整型(signed)和无符号整型(unsigned ), 它们各自又可以分为 长整型(long), 短整型(short), 整型(int)和字符型(char), 所以结合起来一共有8种基本的整型结构: long/short/int/char/unsigned long/unsigned short/unsigned int/unsigned char; 浮点型:分为单精度 float , 双精度型:double; (补充:整型表示的数的范围: 说到了