/ 常規(guī)出牌,首先聊一聊 /
c語言中的#號確實用得挺多的,比如說最開始編程的時候,大家最喜歡的#include…,確實有了這個東西我們就可以調用了我們想調用的東西了,心里必定歡喜!一般代碼量,或者閱碼量不多的筒子們,可能熟悉的#還有宏定義#define,或者是預編譯#if 或者更進一步#ifndef等預編譯符號,應該大部分小伙伴不太用到#號的其他功能了!(哈哈,其實我也差不多吧!)所以最近也是學習總結了一些,可能以后也用不太上,可能水平還沒達到,不過對于以后閱讀各路大神的代碼,應該會幫助不少,同時跟大家首先說明一個非常重要的一點,大部分帶#的處理都是在預編譯階段,比如說宏定義,預編譯,包括后面說到的宏轉字符串,連接記號等!
/ 該出一些套路了 /
知識點1:將宏參數(shù)轉化為字符串
例如,#define BUG(a) #a 這樣我們使用BUG(123)表示的就是字符串123直接可以printf(BUG(123));打印出字符串123.
知識點2:將##前后的標記進行合并
例如,#define DEBUG(a) debug##a
這樣我們使用的時候int DEBUG(1)=5;其實這樣就定義了一個int類型的變量debug1=5;
注意點:對于#和##號,其作為#號的參數(shù)和作為##號的參數(shù),即使是另外一個宏也不進行展開,而是作為一個整體以字符串輸出,例如,
#define debug(a,b) a##b;
#define var(c) #c
然后我們在程序中使用了var(debug(1,2)),這樣我們最終輸出的是debug(1,2)這個字符串表達式而不會輸出12,如果我們特別想過得12,那么多定義一個宏,#define temp(d) var(d),這樣就沒有參數(shù)debug(1,2)沒有直接對應#,最終結果就是12.
對于這兩種#號實際應用中的使用,主要是簡化代碼,也可以說是擴展了宏定義!
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關推薦
一些小眾的C語言知識點,可能會比較有趣或者怪異,分享給大家看一下。
發(fā)表于 09-26 10:16
?668次閱讀
怎么才能做好嵌入式開發(fā)?學好C語言吧!今天就來推薦一篇大佬寫的嵌入式C語言知識點總結。
發(fā)表于 09-27 09:53
?1188次閱讀
C語言鏈表知識點(2)
發(fā)表于 08-22 10:38
?336次閱讀
電子發(fā)燒友網(wǎng)訊:應廣大電子發(fā)燒友網(wǎng)讀者要求,本電子書《C51單片機及C語言知識點必備秘籍》為《單片機關鍵知識點全攻略》單片機系列教程及《
發(fā)表于 07-30 13:59
?9856次閱讀
、算法說明:學習單片機C一般只需要前9個知識點即可進行產品開發(fā),但要學習嵌入式C還需要要掌握:指針、結構體、鏈表、宏定義等知識點。二、單片機C
發(fā)表于 10-08 14:41
)++; //對p指向空間的值進行了修改,程序報錯其它語句}5、修飾函數(shù)的返回值修飾函數(shù)的返回值,返回值不可被改變Const int Fun(void);詳細講解或更多內容可關注我的C語言免費連載視頻,更過C
發(fā)表于 03-29 10:53
關于c語言中數(shù)組下標的加減平移知識點總結不看肯定后悔
發(fā)表于 10-14 08:58
C語言總結(stm32嵌入式開發(fā))文章目錄C語言總結(stm32嵌入式開發(fā))c程序小知識點總結1
發(fā)表于 11-05 07:45
了一些這方面的經(jīng)驗和思考,就希望總結下來,系統(tǒng)的闡述嵌入式C語言的重要知識點,就是這篇文章的由來。本文以自己在嵌入式上的實踐為基礎,在結合相關資料, 闡述嵌入式需要了解的C
發(fā)表于 02-17 06:10
本文檔的主要內容詳細介紹的是C51語言的18個基礎知識點實例講解包括了:C51控制語句和C51數(shù)組和指針
發(fā)表于 06-04 17:52
?12次下載
C語言知識點總結
發(fā)表于 07-18 17:54
?5960次閱讀
知識點在剛開始接觸時,我感覺比較難懂、不好理解,那么以后不論我花多長時間去研究這個知識點,心里會一直認為該知識點比較難,也就是說第一印象特別的重要。 就比如 C
發(fā)表于 05-03 18:31
?2725次閱讀
的一些例程中,遇到不懂的C語言知識,再去查相關的知識點,這樣印象才會深刻些。 下面就列出了一些STM32中重要的C
發(fā)表于 04-25 16:42
?2816次閱讀
導讀:怎么做好嵌入式?相信這個問題無論問誰你都會得到一句學好C語言!今天推薦一篇大佬寫的嵌入式C語言知識點總結,非常值得一讀。
發(fā)表于 04-13 11:12
?2728次閱讀
C語言知識點總結.doc
發(fā)表于 02-16 16:37
?9次下載
評論