高质量C编程08-预处理

本文详细介绍了C语言预处理的概念,包括宏定义及其优势、无参宏与带参宏的区别、条件编译的不同形式及用途,以及文件包含的使用方法。

1.预处理的概念

C语言中,以#开头的语句统称为编译预处理命令.
这些命令必须在一行的开头以#开始,末尾不加分号,并且每条命令独占一行,以区别于一般的C语句.它们可以放在程序的任何位置.

2.宏

(1)宏是一种定义,它就是给一个语句块(宏体)定义了一个名字
#define 宏名 宏体

(2)宏定义好处

  • 提高了可读性
  • 减少了书写错误
  • 维护性
  • 提高运行速度

(3)预处理时执行替换动作,把源程序中使用宏定义的地方替换成宏体,这个过程叫做宏展开宏替换

3.无参宏和带参宏

(1)宏分为两种

  • 无参宏
  • 带参宏

(2)区别
宏名字后有参数就是带参宏,也叫宏函数

4.条件编译

(1)三种方式

①方式1:

#ifdef 标识符
    程序段1
#else
    程序段2
#endif

②方式2:(防止头文件重复包含)

#ifndef 标识符
    程序段1
#else
    程序段2
#endif

③方式3:

#if 表达式
    程序段1
#else
    程序段2
#endif
(2)用途:

①调试程序(打印调试时)
②防止一个源文件对同一个头文件的多次重复包含
③只使用有效代码参加编译,提高效率

5.文件包含

#include "文件名"
#inclue <文件名>

(1)文件包含可以指定所包含文件的绝对路径:
如:
#include "C:\Program Files\Microsoft Visual Studio\MyProjects\01.h"
(2)文件包含可以指定所包含文件的相对路径
如:
#include "...\MyProjects\01.h"
推荐使用相对路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Story51314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值