1. 前言
使用#把宏參數變為一個字符串,用##把兩個宏參數貼合在一起.
2. 一般用法
3. 注意事項
3.1 舉例
兩句print會被展開為:
分析:
由于AGE是宏,且作為宏toString和conStr的參數,并且宏conStr和toString中均含有#或者##符號,所以A不能被解引用。導致不符合預期的情況出現。
3.2 解決方案
結果:
責任編輯:xj
原文標題:C語言中"#"和"##"的用法
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
180文章
7614瀏覽量
137709 -
編程
+關注
關注
88文章
3637瀏覽量
93981
原文標題:C語言中"#"和"##"的用法
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
C語言中申請的堆內存能不能自動釋放
C語言中申請的堆內存能不能自動釋放?每次都要手動 free 太麻煩,也容易忘記。 學過 C++ 的同學,應該首先能想到智能指針。 但是這是C語言
C語言中的頭文件能不能重復包含
C語言中的頭文件能不能重復包含? 比如代碼寫成這樣,stdio.h 連續包含了兩次。 #include #include int main(){ printf("helloworld
C語言中的socket編程基礎
Socket編程簡介 Socket是一種通信機制,允許程序之間進行通信。在C語言中,socket編程是網絡編程的基礎。通過使用socket,程序可以發送和接收數據,實現不同計算機之間的通信
c語言中從左到右結合怎么看
在C語言中,操作符的結合性(Associativity)是指當操作符在表達式中連續出現時,它們如何與操作數結合的順序。對于大多數二元操作符(即需要兩個操作數的操作符),C語言遵循兩種基
C語言中的typedef的應用
C 語言提供了 typedef 關鍵字,您可以使用它來為類型取一個新的名字。下面的實例為單字節數字定義了一個術語 BYTE。
發表于 03-06 11:34
?431次閱讀
C語言#define的應用
在 C/C++ 編程語言中,當程序被編譯時,被發送到編譯器,編譯器將程序轉換為機器語言,然后完成編譯并執行該程序。預處理器也稱為宏預處理器。
發表于 03-06 11:29
?425次閱讀
C語言的指針用法
C語言編程中善用指針可以簡化一些任務的處理,而對于一些任務(比如動態內存分配),必須要有指針才行的。也就是說精通C指針編程是很有必要的,幫助你成為一名優秀的Cer。
發表于 03-05 14:22
?391次閱讀
介紹C語言中錯誤處理和異常處理的一些常用的方法和策略
C語言是一種低級的、靜態的、結構化的編程語言,它沒有提供像C++或Java等高級語言中的異常處理機制,例如try-catch-finally
評論