首页 > 其他 > 详细

枚举学习笔记

时间:2015-03-24 22:29:57      阅读:277      评论:0      收藏:0      [点我收藏+]
  • 枚举

枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明:

  enum 枚举类型名字 {名字0,名字1,。。。,名字n};

枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为它们就是常量符号,它们的类型是int,值则依次从0到n。

  如:enum color{red,yellow,green};

就创建了3个常量,red的值是0,yellow的值是1,green的值是2。

当需要一些可以排列起来的常量值时,定义枚举的意思就是给这些常量值名称。

枚举量可以作为值;

枚举类型可以加上enum作为类型;但实际是以整数来计算和输入输出的。

#include<stdio.h>
enum color{ red, yellow, green,Numcolors};//此处Numcolors为小套路,数值刚好等于定义的枚举量,可以定义数组,遍历数组等使用。
void f(enum color c);//此处enum必须带上
int main(void)
{
        enum color t = red;//枚举类型可以加上enum作为类型
        scanf("%d",&t);
        f(t);

        return 0;
}

void f(enum color c)
{
        printf("%d\n%,c);
}

枚举量

声明枚举量的时候可以指定值,如

  

enum COLOR {RED = 1, YELLOW,GREEN = 5};//RED = 1是从1开始的,不是从0
                                                                         //YELLOW =2
                                                                        //GREEN = 5

枚举只是int,即使给枚举类型的变量赋不存在的值,也没有任何warning和error。

虽然枚举类型可以当做类型用,但是很少用。

如果有意义上排比的名字,用枚举比用const int方便。

枚举比宏好,因为枚举有int类型。

  •  结构
#include<stdio.h>
int main(int grc,char *grv[])
{
        struct date {
        int month;
        int day;
        int year;
        };
        struct date today;
        today.month = 07;
        today.day = 31;
        today.year = 2014;

        printf("Today‘s date is %i-%i-%i\n",today.month,today.day,today.year);

        return 0;
}

和本地变量一样:在函数内部声明的结构变量只能在函数内部使用;在函数外声明的结构变量可以在所有函数使用。

所以通常在函数外部声明结构变量,这样可以在多个函数使用。

技术分享

 

枚举学习笔记

原文:http://www.cnblogs.com/netcn/p/4364094.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!