#define定义标识符
写法:#define 标识符名字 内容
标识符名字大小写均可
#define后面最好不要用分号;如果用了分号在替换的时候也会替换上分号
在预处理阶段,所有使用#define定义的名字都会被替换成对应的内容
例如:#define MAX 100
#define REG register
#define定义宏
写法:#define 宏名(参数) 内容
把宏名全部大写
宏与类型无关,宏的参数可以是类型,宏比函数在程序的规模和速度方面更胜一筹
宏的参数如果是表达式,一定要注意替换后的优先级问题,否则可能结果会出现异常
参数有可能出现在内容中
参数列表的左括号必须与宏名紧邻
例如:#define SQUARE( x ) x * x
#define 替换规则
在调用宏时,首先对参数进行检查,看看是否包含任何由#define定义的符号。如果是,它们首先被替换,然后再替换宏或标识符
宏参数和#define 定义中可以出现其他#define定义的符号,但是对于宏,不能出现递归
#对于宏的用法
printf(字符串 字符串);这样写可以将两个字符串合并成一个字符串,也就是说字符串是有自动连接的特点
使用 # ,可以把一个宏参数变成对应的字符串或字符
功能含义:#宏参数===》 "宏参数" ,因此"#宏参数",就可以得到" "宏参数" ",最外层的双引号是与