1),#define 宏常量是在预编译阶段进行简单替换。枚举常量则是在编译的时候确定其值。
2),一般在编译器里,可以调试枚举常量,但是不能调试宏常量。
3),枚举可以一次定义大量相关的常量,而#define 宏一次只能定义一个。

什么是预编译 何时需要预编译?

预编译又称为预处理 , 是做些代码文本的替换工作。处理 # 开头的指令 , 比如拷贝 #include 包含的文件代码, #define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段,主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。
c 编译系统在对程序进行通常的编译之前,先进行预处理。 c 提供的预处理功能主要有以下三种: 1 )宏定义 2 )文件包含 3 )条件编译

最新文章

  1. window7系统怎么找到开始运行命令
  2. Linux 查看服务器开放的端口号
  3. phpcms调用一个指定的栏目的url和栏目名称
  4. Jsoup的demao
  5. HDU3930 (原根)
  6. 在自己的网站上实现QQ授权登录
  7. POJ3009 Curling 2.0
  8. 自己总结python用xlrd\xlwt读写excel
  9. Redis 突然报错 NOAUTH Authentication required
  10. C语言进制转换的一个小错误
  11. windows下安装MongoDB进度条不动
  12. Kotlin For Android 示例代码实战
  13. js 创建标签执行
  14. Java开发环境配置(5)--Web 服务器--Tomcat--安装过程遇到的问题
  15. spark streaming集成flume
  16. HDU - 6440 Dream 2018中国大学生程序设计竞赛 - 网络选拔赛
  17. Oracle通过序列+触发器实现主键自增
  18. linux networking
  19. Spark MLlib 之 Vector向量深入浅出
  20. PAT甲题题解-1040. Longest Symmetric String (25)-求最长回文子串

热门文章

  1. tcp三次握手和syn 洪水攻击
  2. JZ2440:时钟设置
  3. SQL SELECT TOP, LIMIT, ROWNUM 子句
  4. LInux查看CPU状态
  5. C#语法复习2
  6. A&DCTF
  7. (转)gcc学习笔记
  8. MySQL中给自定义的字段查询结果添加排名的方法
  9. HDU 5188 背包
  10. 设置GridCtrl中的Checkbox 为不可编辑