[英]What does # sign mean in 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
如果我取出#
,我在執行代碼時會遇到段錯誤。 奇怪。 #
的用途是什么?
它是#define
預處理器宏中使用的字符串化運算符(#) ,
它將它前面的參數轉換為帶引號的字符串
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.