13.C基础_预处理

预处理语句就是以#开头的语句。这些语句类型如下:

  • #include:包含头文件
  • #define:宏定义
  • #undef:取消宏定义
  • #ifdef,#endif:成对使用,判断是否定义了某个宏

宏定义

宏定义的本质就是原样替换,写什么值就替换成什么。

形式:#define 名字 值

 1、示例使用

示例1:基本使用

#define PI 3.14
printf("%d",PI);//这实质就是执行printf("%d",3.14);将PI用3.14替换

示例2:利用宏定义中的值是其他的宏

#define a 1
#define b 2
#define c (a+b)//使用宏来充当值
printf("%d",c);//这实质就是执行printf("%d",(1+2));

示例3:宏定义实现代码开关

#define DEBUG//用作开关时,后面不跟值

#ifdef DEBUG
    printf("DEBUG");//如果宏定义了DEBUG,就执行这个语句
#endif
/* #ifdef 与 #endif 配对出现*/

示例4:改变宏定义的值

#define a 100
/* ...一些代码 */
#undef a //取消a的宏定义
#define a 200//重新定义a为200

示例5:传参数的宏

#define MAX(a,b) ((a)>(b)?(a):(b))

/* 调用 */
MAX(1,2)//即a=1,b=2,这实际就是((1)>(2)?(1):(2))

2、注意点

注意点1:当宏定义的值为表达式时,需要加括号

#define N (3+2) //这里不能写3+2,必须写(3+2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值