程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言宏定義的語法問題求解

c語言-C語言宏定義的語法問題求解

編輯:編程綜合問答
C語言宏定義的語法問題求解

如題所示,最近看到C語言裡面的一個宏定義:
#define QMI_SVC_HDLR(cmdval, hdlr) {cmdval, #hdlr, hdlr}
實在是看不懂是什麼意思,特別是#hdlr,這個是啥意思啊,求大神指導

最佳回答:


fine宏定義中的# (stringizing)字符串化操作符。其作用是:將宏定義中的傳入參數名轉換成用一對雙引號括起來參數名字符串。其只能用於有傳入參數的宏定義中,且必須置於宏定義體中的參數名前。

這個宏定義的意思是,代碼中遇到 QMI_SVC_HDLR(5, 6) 的地方,就轉換成代碼 {5,"6",6}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved