c语言中的编译预处理命令

注意:

1. 所有编译预处理语句以”#“开头
2. 每个预处理命令必须单独占一行
3. 语句末尾不使用分号作为结束符
4. 预处理语句主要有宏,条件编译和文件包含

1.无参宏

定义语句的格式如下:
#define 标识符 字符串

**作用:**用一个简单的名称代替一个长的字符串。

标识符 称为”宏名“
在编译时将宏名替换成字符串的过程称为”宏展开“或宏替换

作用范围:定义之后,直到本文件末尾,但可用#undef**终止作用域

2.带参宏

定义格式:
#define 标识符(标识符1,标识符2,标识) 字符串
如:#define area(a) ((a)*(a))

作用:也是简单的将字符串替换成宏名,但其中的形式参数要对应实际参数

注意:

  1. 使用带参宏只是简单的将宏名替换成字符串,不进行任何计算
  2. 宏替换的过程在编译时就进行,不占用运行时间,占用编译时间
  3. 宏名是无类型的,即使有参数,那也是无类型的,宏替换只是简单将宏名替换成字符串

文件包含

所谓文件包含即使指在一个文件中将另一个文件的内容包含进来的处理过程

形式:
#include <包含文件名> 或者#include “包含文件名”

功能:在源程序进行编译之前,用包含文件的内容取代该文件的预处理语句

你可能感兴趣的:(c语言中的编译预处理命令)