Linux C enum

简介: /**************************************************************************** * Linux C enum * * 说明: * 今天在查看Android源代码(development/tools/line_endings/line_endings.c) * 的时候发现"enum { UNIX, DOS } ending;"语法从来没用过,挺惊讶的,于是自己写 * 个小demo测试一下具体情况,参考文章是Tony给出的。
/****************************************************************************
 *                               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类型名,直接使用变量名,也就是说只能用一次,有点像匿名类的写法。
    
    

 

目录
相关文章
|
消息中间件 存储 缓存
Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍(1)
Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍
2931 0
|
自然语言处理 Java 数据挖掘
Linux下跨语言调用C++实践
Linux下跨语言调用C++实践
306 0
|
Oracle 算法 搜索推荐
C/C++/Linux/PostgreSQL 高性能服务器开发技术博文分类汇总(持续更新...)
C/C++/Linux/PostgreSQL 高性能服务器开发技术博文分类汇总(持续更新...)
251 0
C/C++/Linux/PostgreSQL 高性能服务器开发技术博文分类汇总(持续更新...)
|
弹性计算 JSON 移动开发
ECS云服务器简单使用方法以及linux下c++socket搭建web服务器
ECS云服务器使用感受;关于linux下c++socket套接字搭建web服务器的坑:http响应体与跨域请求
ECS云服务器简单使用方法以及linux下c++socket搭建web服务器
|
算法 前端开发 小程序
Python | C++、Java、Linux、Go、前端、算法资料分享
Python | C++、Java、Linux、Go、前端、算法资料分享
Python | C++、Java、Linux、Go、前端、算法资料分享
|
网络协议 NoSQL 关系型数据库
《Linux多线程服务端编程:使用muduo C++网络库》学习笔记,★firecat推荐★
《Linux多线程服务端编程:使用muduo C++网络库》学习笔记,★firecat推荐★
443 0
《Linux多线程服务端编程:使用muduo C++网络库》学习笔记,★firecat推荐★
|
消息中间件 Linux Kafka
Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍
Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍
1007 0
Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍
|
JSON NoSQL C语言
linux平台下C/C++调试技术分享总结-纯干货!
  调试作为一种日常中常见的工作,提高调试水平是非常有必要的。   调试的过程是收集足够多的信息来判断出错误信息。   本文介绍调试过程中所需要的的内存相关知识、底层知识、调试技巧,通过这些知识加强信息收集,减少无用的调试工作,使调试更有目的性。   程序挂掉大多表现为内存异常,通过分析core文件中的内存信息来推断程序异常原因是一种常见的方法,而在分析的过程中需要确保收集到的信息是正确的,因此glibc内存管理原理与程序中内存使用方法是调试的基础知识。   代码段、数据段、bss段,由内核在启动程序时分配。   代码段、数据段,BSS段处于较低位置,在地址上能明显区分出来。   
427 0
|
Linux Shell
LINUX X11剪贴板/clipboard访问C代码范例
LINUX X11剪贴板/clipboard访问C代码范例
520 0
|
消息中间件 Kafka Linux
Linux qtcreator下kafka之librdkafka库的C++语言封装,实现生产和消费(2)(★firecat推荐★)
Linux qtcreator下kafka之librdkafka库的C++语言封装,实现生产和消费(1)(★firecat推荐★)
924 0