第十章 预处理命令

10、预处理命令

1、宏定义

1、宏定义分为两种:不带参数的宏定义和带参数的宏定义。

2、不带参数的宏定义:#define 标识符 单词串

​ 带参数的宏定义:#define 标识符(参数列表) 单词串

3、宏定义可以提高程序的可读性,便于调试,并且也提高了程序的可移植性。

4、可用 #undef 标识符 终止宏的作用域。

5、宏定义可以嵌套定义,但并不能递归定义。

6、宏定义一般以换行结束,不要用分号结束。

7、在定义带参数的宏时,宏名与圆括号之间不能有空白符。

8、在程序中凡是以#开始的语句行都是预处理命令行。

9、宏替换不占用运行时间,只占用编译时间。

10、可以把define定义为用户标识符,但不能把if定义为用户标识符。(define不是关键字)

img

2、文件包含

1、#include<包含文件名> 或#include"包含文件名"

3、条件编译

1、#if…[#elif…] [elif…]#endif if后面的条件必须是一个常量表达式。

2、#ifdef…[else…]#endif

3、#ifndef…[else…]#endif

4、条件编译与分支语句不能混为一谈。

  • 条件编译是在预编译时处理,而条件语句则是在程序运行时处理。
  • 条件编译中的条件不可以包含变量名,只能是常量表达式(通常包含宏名),可以不加括号;而条件语句的条件是条件表达式,可以包含变量或函数等,并且必须加括号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值