#连接字符串:
#arg的用法在宏定义的规则里面,是指将传进来的arg转换成字符串,并用双引号括起来。
例如:
#define print(x) #x
那么执行print(hello)将展开成"hello"
#define PRINT(int) printf(#int " = %d\n",int)
m=1;
PRINT(m);
将输出:m=1
##连接代码:
例如:
#define val(n) x##n
那么执行val(1)将展开成x1,val(a)将展开成xa。
#define Function(x) Function##x
则:
pfn = Function(ABC);
实际上执行的是pfn = FunctionABC;