第八章 C语言预处理
宏定义的基本使用
- 无参宏定义
- 形式
#define标识符 字符串 - 注意1:“字符串”可以是常量、表达式
- 形式
- 举例
#define PI 3.14
#define EXP x*10*1.5
编译器在预处理时,会将源程序中所有的PI替换为‘3.14’
- 简单的文本替换,不会语法检查
有参宏定义
- 允许宏带参数,在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数
- 对于带参数的宏,在调用中,不仅要宏展开,而且要用实际参数代替形参,一般形式为:
#define 宏名(形参表)字符串 - 使用方法
#define F(x) x*x*x
int main(){
int r=F(3);
return 0;
}
- 注意宏定义的字符串是表达式,表达式中的变量需要用()包含起来
#define F(x) (x)*(x)*(x)
int main(){
F(1+2);
return 0;
}
- 笔试题:使用宏定义返回两个整数的最大值
#define Max(a,b) (a)>(b)?(a):(b)
头文件的包含
- c语言中的文件包含命令,如:#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <文件名> //开发环境
#include "文件名"//自己定义;当前目录;路径
条件编译
- 常用的条件编译
- ifdef
#ifdef Debug
printf("")

浙公网安备 33010602011771号