宏
#define 定义宏
宏常量: #define MAX 100 优点提高可扩展性,安全性可读性,可以和case配合使用
__func__获取函数名 %s __FILE__获取文件名%s __DATE__获取当前日期 %s__TIME__获取当前时间%s__LINE__获取当前行号 %d
宏的二义性:由于宏代码所处的位置,参数不同导致宏有不同功能,这就叫做宏的二义性 如何避免宏的二义性: 宏函数整体加小括号,每个参数都要加小括号注意:使用宏函数时不要提供带自变运算符的变量作为参数
预处理指令:程序员所编写的代码不能被真正的编译器所编译,需要一段程序把代码翻译一下,翻译的过程叫做预处理,执行翻译的程序叫做预处理器,被翻译的代码叫做预处理指令,以#开头都是预处理指令
预处理指令的分类
#include <> 从系统指定的目录下查找头文件并导入
#include ""先从当前目录下查找头文件,如果找不到再从系统指定目录查找并导入
查看预处理结果:gcc -E code.c 把预处理结果直接显示到终端上。gcc -E code.c -o code.i把预处理得结果存储到i结尾的文件中
宏函数:带参数的宏,不是真正的函数,不检查参数的类型,没有传参,没有返回值,只有计算结果 #define SUM(a,b) a+b 1、把代码中使用的宏函数替换为宏函数后的代码 a+b 2、把宏函数代码中使用的参数替换为调用者提供的参数
宏
最新推荐文章于 2022-08-06 14:22:07 发布