#define | enum(enumerator)

/****************************************************************************
 *                          #define | enum(enumerator)
 * 声明:
 *     今天突然在Linux内核看到枚举和宏,感觉是一样的功能,于是找了一下他们
 * 之间差异。
 *
 *                                      2015-12-26 深圳 南山平山村 曾剑锋
 ***************************************************************************/
一、参考文档:
    1. 宏和枚举的区别
        http://www.xuebuyuan.com/1875170.html
    2. 枚举enum和#define的区别
        http://www.programgo.com/article/7470399691/;jsessionid=FD993C1249B479189AC31D71F71FC06D
    3. 使用枚举和使用宏的区别
        http://www.programgo.com/article/11502742125/

二、总结说明:
    1. 宏和枚举之间的差别主要在作用的时期和存储的形式不同;
    2. 宏是在预处理的阶段进行替换工作的,它替换代码段的文本,程序运行的过程中宏已不存在了;
    3. 枚举是在程序运行之后才起作用的,枚举常量存储在数据段的静态存储区里;
    4. 宏占用代码段的空间,而枚举除了占用空间,还消耗CPU资源;
    5. 一般在编译器里,可以调试枚举变量,但是不能调试宏常量;
    6. 枚举可以一次定义大量相关的常量,而define一次只能定义一个;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值