1.强处理指令:是在程序编译前执行的命令
2.强处理指令包括:宏定义(或带参数的宏定义),条件编译,文件包含
a.宏定义:
作用:将define关键字后的表达式替换成第二个表达式,不参与任何计算,只负责替换
定义:#define 表达式 值 (所有的宏定义都以#开头)
作用域:默认从定义开始到文件结尾,除非有#undef
b.带参数的宏定义:
定义:#define 函数((参数1)(参数2)) (表达式)
注意:参数和表达式都尽量用(),避免因为计算顺序导致结果出错
eg.直接将sum(1,2)替换成 (1+2)
#include <stdio.h>
#define sum((a),(b)) ((a)+(b))//宏定义两个数的和
int main()
{
printf("1和2的和是:%d\n",sum(1,2));
return 0;
}
c.条件编译
作用:用于判断代码是否将要执行编译
定义:注意#if 和#endif是固定搭配
#if(条件1){}
#elif(条件2){}
#else{}
#endif
d.文件包含
定义;#include "自定义文件"
作用:会把引用的文件的内容拷贝到当前文件中
注意:include 是不可循环包含的,即a.c中包含b.h,但是b.c中不能包含a.h
#include <stdio.h>
#include "string.h"
int main()
{
return 0;
}