枚举型

来源:互联网 发布:bangumi 知乎 编辑:程序博客网 时间:2024/04/30 11:07

enum 枚举型名 {枚举常量1,枚举常量2……,枚举常量n};

  其中enum是枚举型的引导字,枚举型名是标识符,枚举常量也是用户指定的标识符,但它们被程序看作常量,习惯称它们为枚举常量。例如:

  enum weekday { SUN MON TUE WED THU FRI SAT};

  通常,每个枚举常量都是有意义名称符号,但对程序本身来说,这些枚举常量并不自动代表什么含义。例如,并不因为写成SAT就自动表示星期六,不写SAT写成SATDAY或任何其它标识符也是可以的。对于编译系统来说,枚举型中的标识符只是一组互不相同的标识符而已,标识符本身的字面意义只是供阅读程序的人便于理解程序。

  为了便于处理枚举型,编译系统将每个枚举常量与一个整数相联系,即枚举常量在内部被视作一个整数,值的大小由它们在枚举型中出现的顺序确定,依次为0l2。如在上面的定义中,SUN值为0MON值为1……SAT值为6。枚举型变量的值也可输出。例如:

  printf(“%d \n” SUN);

  将输出整数0

  枚举常量的对应整数也可由程序直接指定。如

  enum weekday { SUN= 7 MON= l TUE WED, THU FRI, SAT};

  指定SUN7MON1,后面未指定对应整数的枚举常量所代表的整数,则是前一个枚举常量代表的整数加1。所以在上述定义中,TUE2……SAT6

  因枚举常量代表一个整数,同一枚举型的变量、枚举常量或整数相互间都可以作关系比较

原创粉丝点击