C语言 预处理作用与宏定义
一、预处理的作用
1.程序的预处理过程就是将预处理指令(可以简单理解为#开头的正确指令)转换为实际代码中的内容(替换)
2.#include<stdio.h>,这里是预处理指令,包含头文件的操作,将所包含头文件的指令替代
3.如果头文件中包含了其他头文件,也需要将头文件展开包含
宏定义
1.# define 新的标识 旧的标识
注意这里加不加分号,需要根据特定的情况判断
用 新的标识 替换被标识的内容
2.宏定义不占用内存,全局变量占用内存
3.为避免对优先级由影响需要对替换单元加括号(),以保证优先级计算
例1:
#define
//宏定义,也是预处理指令
例:#define PI 3.14
#define NAME “张三”
{
PI+3;
NAME;
return 0;
}
输出:3.14+3,张三
只做简单的替换
注:宏定义之后,值不可改变,如PI的值只为3.14
例二、宏定义:最大值
#define MAX (A,B)((A)>(B)?(A):(B))
注:A,B可以是一个变量也可以是表达式,为保证优先级加括号