1. 宏参数里的#号
在一个宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组。简化理解:#是“字符串化”的意思,出现在宏定义中的#是把跟在后面的参数转换成一个字符串
#define ERROR_LOG(module) fprintf(stderr,"error: "#module"\n")
ERROR_LOG(“add”); 转换为 fprintf(stderr,”error: “add”\n”);
例子如下:
#include <stdio.h>
#define ERROR_LOG(module) fprintf(stderr,"error: "#module"\n")
int main(int argc, char *argv[])
{
ERROR_