#符号在C中是什么意思?

时间:2018-09-25 21:01:05

标签: c

我遇到了这段代码,但不确定#reg在做什么:

#define FPGA_WRITE(reg,val) do { printf("%-20s %08X <<- %08lX\n", #reg, (reg), (unsigned long)(val));} while (0)

int main()
{
   FPGA_WRITE(10,15);
   return 0;
}

这将打印以下内容:

10                   0000000A <<- 0000000F

如果我取出#,则在执行代码时会遇到段错误。奇怪。 #的用途是什么?

1 个答案:

答案 0 :(得分:7)

Stringizing Operator (#)#define预处理器宏中使用,
将前面的参数转换为带引号的字符串