C语言enum(枚举)数据类型

来源:互联网 发布:西安市软件公寓 编辑:程序博客网 时间:2024/05/01 09:25
#include <stdio.h>//enum Weekday只是一个数据类型,//规定了该类型的变量值必须是哪些enum Weekday{    Monday, Tuesday, Wednesday,     Thursday, Friday, Staturday,     Sunday};void f(enum Weekday i){    //enum Weekday类型的i    //在程序运行期间会转换成    //其所在位置的序号,这个    //序号从0开始,比如Monday对应0    //Friday传递给i后在,程序内部会看作4    //但是程序给enum Weekday i传递值    //或者说赋值只能是枚举中的一周7天中的一个    //不能是其他值    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("Staturday!\n");            break;        case 6:            printf("Sunday!\n");            break;    }}int main(void){    f(Friday);    return 0;}

枚举就是把事物所有的可能一一列举出来,枚举变量的值只能是枚举类型中规定的某一种,枚举变量运行期间会转换成对应位置的下标值,该下标值从0开始。
个人感觉枚举只是为了从程序编写的安全角度去考虑。

0 0