第九章-预处理命令
2020-03-30 本文已影响0人
逆流而上jiao
一、宏定义。
1、不带参数的宏定义:#define 标识符 字符串
注意:(1)宏定义是用宏名替代一个字符串,也就是简单的置换;
(2)不必在行末加分号;
(3)宏名有效范围为定义命令之后到本源文件结束;
(4)可以用#undef 命令终止宏定义的作用域;
(5)专门用于预处理命令的一个专用名词,,不分配内存空间。
2、带参数的宏定义:#define 宏名(参数表) 字符串
注意:在宏名与带参数的括号之间不应加空格。
二、“文件包含”处理。
#include <文件名>
假设有两个文件:①格式宏做成头文件 format.h②主文件file1.c
在编译时并不是对两个文件分别进行编译,然后再将它们的目标程序连接的。
而是在经过编译预处理后将头文件“format.h”包含到主文件中,得到一个新的源程序,然后对这个文件编译,得到一个目标(.obj)文件。被包含的文件成为新的源文件的一部分,而单独生成目标文件。
三、条件编译。
#ifdef 标识符
程序段1
#else
程序段2
#endef