[开发资料] #define预编译指令

[复制链接]
 楼主| szt1993 发表于 2024-8-15 09:10 | 显示全部楼层 |阅读模式
#define预编译指令
顾名思义,这个指令的含义是“定义”,大家可以把该指令视为一种文本的替换。详细在下面代码展示

  1. //使用该指令定义了一个数
  2. #define PI 3.14
  3. //那么大家在后面的调用中就是直接使用PI就可以了
  4. float Circle_Area = PI * r*r;
  5. //实际在编译器编译的时候就会把字符PI替换成3.14,所以在编译器眼中实际上上述等式的样子如下
  6. float CirCle_Area = 3.14 * r*r;

  7. //再例如有时候大家喜欢写一些宏定义“函数”
  8. #define MIN(x,y)(x>y)?x:y;   //两个数比大小

  9. //在程序猿们的眼里,代码编写如下
  10. uint8_t num_A = 3;
  11. uint8_t num_B = 6;
  12. uint8_t min_num;
  13. min_num = MIN(num_A,num_B);

  14. //但是在编译器的眼中这段代码如下
  15. min_num = (num_A<num_B)?num_A:num_B;

  16. //而如果是仅仅是做了一个定义,它并不是毫无意义的,编译器会把这个定义作为一个标识符暂时存放,表明该字符已经进行过了定义声明。
  17. #define FUNC_ENABLE    //编译器就会把这个字符串认为是一个已经定义的标识符

小小蚂蚁举千斤 发表于 2024-8-15 13:24 来自手机 | 显示全部楼层
#define预编译指令能够节省C的运行效率
中国龙芯CDX 发表于 2024-8-20 15:45 | 显示全部楼层
#define预编译指令视为一种文本的替换
小夏天的大西瓜 发表于 2024-8-20 16:19 | 显示全部楼层
#define预编译指令一般比较实用,而且非常符合编程需求
您需要登录后才可以回帖 登录 | 注册

本版积分规则

344

主题

2836

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部