本文主要是介绍C预处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- #include<>和#include""区别
- 宏常量
- 不带参数的宏定义(宏常量)
- 带参数的宏定义(宏函数)
#include<>和#include""区别
- ""表示先在file.c所在的当前目录找头文件file.h,若找不到,再按系统指定的目录检索。
- <>直接按系统指定的目录检索
宏常量
不带参数的宏定义(宏常量)
- 比如 #define PI 3.1415
- 宏名一般大写
- 宏定义可以是常数、表达式
- 宏定义不做语法检查
- 宏定义不是C语言,不在行末加分号
- 宏名有效范围从定义到本源文件结束
- 可以用#undef命令终止宏定义的作用域
- 宏定义中可以引用已经定义的宏名
带参数的宏定义(宏函数)
- 比如 #define SUM(x, y) ((x) + (y))
- 宏的名字不能有空格,但是替换字符串可以有
- 用括号括住每一个参数,并括住宏的整体定义
- 用大写字母表示宏的函数名
- 由于宏函数没有函数调用开销,因此可以提高程序运行的效率,但是一般只有使用频繁且短小精悍的代码块才会定义为宏函数
这篇关于C预处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!