C预处理
作者:互联网
目录
#include<>和#include""区别
- ""表示先在file.c所在的当前目录找头文件file.h,若找不到,再按系统指定的目录检索。
- <>直接按系统指定的目录检索
宏常量
不带参数的宏定义(宏常量)
- 比如 #define PI 3.1415
- 宏名一般大写
- 宏定义可以是常数、表达式
- 宏定义不做语法检查
- 宏定义不是C语言,不在行末加分号
- 宏名有效范围从定义到本源文件结束
- 可以用#undef命令终止宏定义的作用域
- 宏定义中可以引用已经定义的宏名
带参数的宏定义(宏函数)
- 比如 #define SUM(x, y) ((x) + (y))
- 宏的名字不能有空格,但是替换字符串可以有
- 用括号括住每一个参数,并括住宏的整体定义
- 用大写字母表示宏的函数名
- 由于宏函数没有函数调用开销,因此可以提高程序运行的效率,但是一般只有使用频繁且短小精悍的代码块才会定义为宏函数
标签:宏名,常量,定义,参数,include,预处理,函数 来源: https://www.cnblogs.com/chkplusplus/p/16382399.html