Linux C enum

/****************************************************************************
 *                               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.\n", ending);
        ending = DOS;
        printf("%02x.\n", 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类型名,直接使用变量名,也就是说只能用一次,有点像匿名类的写法。
    
    

 

posted on 2016-05-03 09:17  zengjf  阅读(907)  评论(0编辑  收藏  举报

导航