目录

一.##和#运算符
1.#运算符(字符串化)
#运算符将宏的参数变成一个字符串 这里的#并不是#include或#define中的# 在举例子之前,说明一下字符串是有自动连接的特点的
printf("hello""world");
//打印后是helloworld
#define PRINT(n) printf("the value of" #n "is %d",n);
int a = 10;
printf("the value of"#a"is""%d",a);
// the value of a is 10
2.##运算符(粘合符)
##可以将位于##两边的符号合成一个符号
它允许宏定义从分离的文本片段创建标识符
##又被称为记号粘合
例如:
//求两个数(不同类型的变量)的最大值
//定义了函数模版
#define a_MAX(type) \
type type_##MAX(type x,type y) \
{
\
return ((x>y)?x:y);