/**************************************************************************** * Linux C enum * * 说明: * 今天在查看Android源代码(development/tools/line_endings/line_endings.c) * 的时候发现"enum { UNIX, DOS } ending;"语法从来没用过,挺惊讶的,于是自己写 * 个小demo测试一下具体情况,参考文章是Tony给出的。 * * 2016-5-3 深圳 南山平山村 曾剑锋 * **************************************************************************/ 一、参考文档: C枚举类型enum http://blog.csdn.net/lqz1988/article/details/5747628 二、Demo: #include <stdio.h> int main(int argc, char *argv) { enum { UNIX, DOS } ending; printf("%02x. ", ending); ending = DOS; printf("%02x. ", ending); } 三、输出结果: Press ENTER or type command to continue 00. 01. Press ENTER or type command to continue 四、推测: enum { UNIX, DOS } ending; 相当于: #define UNIX 0x00 #define DOS 0x01 unsigned int ending = UNIX; 五、应用场合: enum { UNIX, DOS } ending; 语句中没有enum类型名,直接使用变量名,也就是说只能用一次,有点像匿名类的写法。