一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

c語(yǔ)言中的#號(hào)知識(shí)點(diǎn)分享

冬至子 ? 來源:最后一個(gè)bug ? 作者:未知bug ? 2022-11-15 14:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

/ 常規(guī)出牌,首先聊一聊 /

c語(yǔ)言中的#號(hào)確實(shí)用得挺多的,比如說最開始編程的時(shí)候,大家最喜歡的#include…,確實(shí)有了這個(gè)東西我們就可以調(diào)用了我們想調(diào)用的東西了,心里必定歡喜!一般代碼量,或者閱碼量不多的筒子們,可能熟悉的#還有宏定義#define,或者是預(yù)編譯#if 或者更進(jìn)一步#ifndef等預(yù)編譯符號(hào),應(yīng)該大部分小伙伴不太用到#號(hào)的其他功能了?。ü?,其實(shí)我也差不多吧!)所以最近也是學(xué)習(xí)總結(jié)了一些,可能以后也用不太上,可能水平還沒達(dá)到,不過對(duì)于以后閱讀各路大神的代碼,應(yīng)該會(huì)幫助不少,同時(shí)跟大家首先說明一個(gè)非常重要的一點(diǎn),大部分帶#的處理都是在預(yù)編譯階段,比如說宏定義,預(yù)編譯,包括后面說到的宏轉(zhuǎn)字符串,連接記號(hào)等!

/ 該出一些套路了 /

知識(shí)點(diǎn)1:將宏參數(shù)轉(zhuǎn)化為字符串

例如,#define BUG(a) #a 這樣我們使用BUG(123)表示的就是字符串123直接可以printf(BUG(123));打印出字符串123.

知識(shí)點(diǎn)2:將##前后的標(biāo)記進(jìn)行合并

例如,#define DEBUG(a) debug##a

這樣我們使用的時(shí)候int DEBUG(1)=5;其實(shí)這樣就定義了一個(gè)int類型的變量debug1=5;

注意點(diǎn):對(duì)于#和##號(hào),其作為#號(hào)的參數(shù)和作為##號(hào)的參數(shù),即使是另外一個(gè)宏也不進(jìn)行展開,而是作為一個(gè)整體以字符串輸出,例如,

#define debug(a,b) a##b;

#define var(c) #c

然后我們?cè)诔绦蛑惺褂昧藇ar(debug(1,2)),這樣我們最終輸出的是debug(1,2)這個(gè)字符串表達(dá)式而不會(huì)輸出12,如果我們特別想過得12,那么多定義一個(gè)宏,#define temp(d) var(d),這樣就沒有參數(shù)debug(1,2)沒有直接對(duì)應(yīng)#,最終結(jié)果就是12.

對(duì)于這兩種#號(hào)實(shí)際應(yīng)用中的使用,主要是簡(jiǎn)化代碼,也可以說是擴(kuò)展了宏定義!

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141768
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    590

    瀏覽量

    22287
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    一些小眾的C語(yǔ)言知識(shí)點(diǎn)

    一些小眾的C語(yǔ)言知識(shí)點(diǎn),可能會(huì)比較有趣或者怪異,分享給大家看一下。
    發(fā)表于 09-26 10:16 ?847次閱讀

    嵌入式C語(yǔ)言知識(shí)點(diǎn)總結(jié)

    怎么才能做好嵌入式開發(fā)?學(xué)好C語(yǔ)言吧!今天就來推薦一篇大佬寫的嵌入式C語(yǔ)言知識(shí)點(diǎn)總結(jié)。
    發(fā)表于 09-27 09:53 ?1392次閱讀

    C語(yǔ)言鏈表知識(shí)點(diǎn)(2)

    C語(yǔ)言鏈表知識(shí)點(diǎn)(2)
    發(fā)表于 08-22 10:38 ?440次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>鏈表<b class='flag-5'>知識(shí)點(diǎn)</b>(2)

    C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍

      電子發(fā)燒友網(wǎng)訊:應(yīng)廣大電子發(fā)燒友網(wǎng)讀者要求,本電子書《C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍》為《單片機(jī)關(guān)鍵知識(shí)點(diǎn)全攻略》單片機(jī)系列教程及《
    發(fā)表于 07-30 13:59 ?9998次閱讀

    【信盈達(dá)】C語(yǔ)言知識(shí)點(diǎn)的總結(jié)

    、算法說明:學(xué)習(xí)單片機(jī)C一般只需要前9個(gè)知識(shí)點(diǎn)即可進(jìn)行產(chǎn)品開發(fā),但要學(xué)習(xí)嵌入式C還需要要掌握:指針、結(jié)構(gòu)體、鏈表、宏定義等知識(shí)點(diǎn)。二、單片機(jī)C
    發(fā)表于 10-08 14:41

    【每日一知識(shí)點(diǎn)C語(yǔ)言中const詳解

    )++; //對(duì)p指向空間的值進(jìn)行了修改,程序報(bào)錯(cuò)其它語(yǔ)句}5、修飾函數(shù)的返回值修飾函數(shù)的返回值,返回值不可被改變Const int Fun(void);詳細(xì)講解或更多內(nèi)容可關(guān)注我的C語(yǔ)言免費(fèi)連載視頻,更過C
    發(fā)表于 03-29 10:53

    關(guān)于c語(yǔ)言中數(shù)組下標(biāo)的加減平移知識(shí)點(diǎn)總結(jié)不看肯定后悔

    關(guān)于c語(yǔ)言中數(shù)組下標(biāo)的加減平移知識(shí)點(diǎn)總結(jié)不看肯定后悔
    發(fā)表于 10-14 08:58

    C語(yǔ)言程序小知識(shí)點(diǎn)總結(jié)

    C語(yǔ)言總結(jié)(stm32嵌入式開發(fā))文章目錄C語(yǔ)言總結(jié)(stm32嵌入式開發(fā))c程序小知識(shí)點(diǎn)總結(jié)1
    發(fā)表于 11-05 07:45

    嵌入式C語(yǔ)言知識(shí)點(diǎn)匯總,絕對(duì)實(shí)用

    了一些這方面的經(jīng)驗(yàn)和思考,就希望總結(jié)下來,系統(tǒng)的闡述嵌入式C語(yǔ)言的重要知識(shí)點(diǎn),就是這篇文章的由來。本文以自己在嵌入式上的實(shí)踐為基礎(chǔ),在結(jié)合相關(guān)資料, 闡述嵌入式需要了解的C
    發(fā)表于 02-17 06:10

    C51語(yǔ)言的基礎(chǔ)知識(shí)點(diǎn)實(shí)例講解

    本文檔的主要內(nèi)容詳細(xì)介紹的是C51語(yǔ)言的18個(gè)基礎(chǔ)知識(shí)點(diǎn)實(shí)例講解包括了:C51控制語(yǔ)句和C51數(shù)組和指針
    發(fā)表于 06-04 17:52 ?12次下載
    <b class='flag-5'>C</b>51<b class='flag-5'>語(yǔ)言</b>的基礎(chǔ)<b class='flag-5'>知識(shí)點(diǎn)</b>實(shí)例講解

    C語(yǔ)言學(xué)習(xí)入門知識(shí)點(diǎn)/干貨

    C語(yǔ)言知識(shí)點(diǎn)總結(jié)
    的頭像 發(fā)表于 07-18 17:54 ?6320次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>學(xué)習(xí)入門<b class='flag-5'>知識(shí)點(diǎn)</b>/干貨

    匯總和深挖C語(yǔ)言中宏定義所有的知識(shí)點(diǎn)

    知識(shí)點(diǎn)在剛開始接觸時(shí),我感覺比較難懂、不好理解,那么以后不論我花多長(zhǎng)時(shí)間去研究這個(gè)知識(shí)點(diǎn),心里會(huì)一直認(rèn)為該知識(shí)點(diǎn)比較難,也就是說第一印象特別的重要。 就比如 C
    的頭像 發(fā)表于 05-03 18:31 ?3004次閱讀
    匯總和深挖<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>宏定義所有的<b class='flag-5'>知識(shí)點(diǎn)</b>

    STM32中重要的C語(yǔ)言知識(shí)點(diǎn)總結(jié)

    的一些例程中,遇到不懂的C語(yǔ)言知識(shí),再去查相關(guān)的知識(shí)點(diǎn),這樣印象才會(huì)深刻些。 下面就列出了一些STM32中重要的C
    的頭像 發(fā)表于 04-25 16:42 ?3142次閱讀
    STM32中重要的<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>知識(shí)點(diǎn)</b>總結(jié)

    嵌入式C語(yǔ)言知識(shí)點(diǎn)總結(jié)

    導(dǎo)讀:怎么做好嵌入式?相信這個(gè)問題無(wú)論問誰(shuí)你都會(huì)得到一句學(xué)好C語(yǔ)言!今天推薦一篇大佬寫的嵌入式C語(yǔ)言知識(shí)點(diǎn)總結(jié),非常值得一讀。
    的頭像 發(fā)表于 04-13 11:12 ?3007次閱讀

    C語(yǔ)言最重要的知識(shí)點(diǎn)

    C語(yǔ)言知識(shí)點(diǎn)總結(jié).doc
    發(fā)表于 02-16 16:37 ?9次下載