色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

宏和函數(shù)應(yīng)該怎么選

麥辣雞腿堡 ? 來源:軒哥談芯 ? 作者:軒哥談芯 ? 2023-11-01 17:35 ? 次閱讀

今天我們來看一下利用宏定義編寫類似函數(shù)調(diào)用的方法和真實(shí)的函數(shù)有什么區(qū)別。

一、宏和函數(shù)怎么選?

首先來看一個(gè)例子:

#define N 2+2
void main()
{    
    int a = N * N;    
    printf( "a = %d", a);
}

這里,我們得理解宏的工作方式,它是在編譯器編譯代碼之前做的一個(gè)純文本的替換工作,因此,有時(shí)候簡單宏替換的結(jié)果就會和我們預(yù)想的結(jié)果出現(xiàn)偏差。

比如上面的例子,我們預(yù)期 N 為 4,a=16,但實(shí)際結(jié)果卻為 a=8;原因在于宏的作用方式是傻瓜式的文本替換。

在編譯之前,編譯器首先將宏定義的文本替換到程序體中,這個(gè)替換是完全無腦的一個(gè)操作,看一下替換結(jié)果就知道了。

#define N 2+2
void main()
{    
    int a = 2 + 2 * 2 + 2;    
    printf( "a = %d", a);
}

這也就是我們上一篇文章中講到的,寫宏函數(shù)的時(shí)候一定要注意括號的應(yīng)用,多加括號一定是利大于弊的。

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

    關(guān)注

    3

    文章

    4344

    瀏覽量

    62864
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4819

    瀏覽量

    68881
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1642

    瀏覽量

    49229
收藏 人收藏

    評論

    相關(guān)推薦

    ADS1282沒有CS片應(yīng)該怎樣單獨(dú)給DAC傳輸數(shù)據(jù)呢?

    請問DAC1282和ADS1282的SCLK、DIN、DOUT可以接到一起,然后分別連接MCU的SCK、SOMI、SIMO嗎? 如果可以的話,ADS1282沒有CS片應(yīng)該怎樣單獨(dú)給DAC傳輸數(shù)據(jù)呢? 謝謝
    發(fā)表于 11-25 07:35

    SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別

    SUMIF函數(shù)和SUMIFS函數(shù)都是Excel中用于條件求和的函數(shù),它們可以幫助用戶根據(jù)特定的條件對數(shù)據(jù)進(jìn)行求和。盡管它們的基本功能相似,但在使用場景和功能上存在一些差異。以下是對這兩個(gè)函數(shù)
    的頭像 發(fā)表于 10-30 09:51 ?1461次閱讀

    科技擬收購APCB 100%股權(quán)

    科技近期發(fā)布重要公告,宣布其計(jì)劃通過全資子公司新加坡勝及PSL,以不超過2.787億元人民幣的現(xiàn)金,全面收購APCB Electronics(Thailand)Co.,Ltd.(簡稱APCB)的100%股權(quán)。此次收購標(biāo)志著勝
    的頭像 發(fā)表于 08-12 15:06 ?591次閱讀

    TC387中有__disable_interrupts()關(guān)閉所有中斷和打開所有中斷的函數(shù)嗎?

    TC387 芯片中有__disable_irq()和__enable_irq()關(guān)閉所有中斷和打開所有中斷的函數(shù)嗎,請告知
    發(fā)表于 08-01 08:22

    請問怎么在自己的工程里添加一個(gè)INCLUDE_xTaskGetHandle?

    你好: 我需要使用 xTaskGetHandle 這個(gè)API,但是 idf.py menuconfig進(jìn)去freertos組件里沒有這個(gè)配置選項(xiàng) 我應(yīng)該怎么添加一個(gè)定義到我的cmakelist里??而不是直接改sdk的文件。
    發(fā)表于 06-21 12:39

    webserver獲取網(wǎng)頁submit應(yīng)該用什么函數(shù)呢?

    各位大神: esp32c3,idfd ubuntu編譯,html轉(zhuǎn)為C放在代碼里,想獲取網(wǎng)頁的提交按鍵進(jìn)行響應(yīng),請問提交“submit”時(shí),C里應(yīng)該對應(yīng)的是哪個(gè)函數(shù)。本人webserver小白,感謝指教!
    發(fā)表于 06-18 07:18

    PCB板的顏色應(yīng)該怎么?為什么綠色最常見?

    使用的,更為人熟悉。但是不同的PCB我們應(yīng)該怎么去選擇PCB的顏色呢,為什么綠色更常用呢?1綠色PCB板綠色是最常見的PCB顏色,也是最經(jīng)濟(jì)、使用最廣泛的選擇。這是因?yàn)樵趥?/div>
    的頭像 發(fā)表于 05-10 08:20 ?1071次閱讀
    PCB板的顏色<b class='flag-5'>應(yīng)該</b>怎么<b class='flag-5'>選</b>?為什么綠色最常見?

    低功耗定時(shí)器選擇外部的32K做時(shí)鐘源,在cubeMX中這個(gè)mode模式應(yīng)該哪個(gè)?

    低功耗定時(shí)器選擇外部的32K做時(shí)鐘源,在cubeMX中這個(gè)mode模式應(yīng)該哪個(gè)呢,謝謝
    發(fā)表于 04-02 06:03

    回調(diào)函數(shù)(callback)是什么?回調(diào)函數(shù)的實(shí)現(xiàn)方法

    回調(diào)函數(shù)是一種特殊的函數(shù),它作為參數(shù)傳遞給另一個(gè)函數(shù),并在被調(diào)用函數(shù)執(zhí)行完畢后被調(diào)用。回調(diào)函數(shù)通常用于事件處理、異步編程和處理各種操作系統(tǒng)和
    發(fā)表于 03-12 11:46 ?3106次閱讀

    鑫科技即將掛牌上市

    浙江鑫科技股份有限公司(以下簡稱“鑫科技”)成功獲得證監(jiān)會的批文,即將掛牌上市,這標(biāo)志著鑫科技將成為資本市場鍛造鋁合金車輪第一股,迎來產(chǎn)業(yè)經(jīng)營和資本運(yùn)營雙輪驅(qū)動的全新發(fā)展階段。
    的頭像 發(fā)表于 03-11 15:30 ?814次閱讀

    函數(shù)指針與回調(diào)函數(shù)的應(yīng)用實(shí)例

    通常我們說的指針變量是指向一個(gè)整型、字符型或數(shù)組等變量,而函數(shù)指針是指向函數(shù)函數(shù)指針可以像一般函數(shù)一樣,用于調(diào)用函數(shù)、傳遞參數(shù)。
    的頭像 發(fā)表于 03-07 11:13 ?424次閱讀
    <b class='flag-5'>函數(shù)</b>指針與回調(diào)<b class='flag-5'>函數(shù)</b>的應(yīng)用實(shí)例

    ??嵌入式中回調(diào)函數(shù)的實(shí)現(xiàn)方法

    回調(diào)函數(shù)的命名規(guī)范沒有固定的標(biāo)準(zhǔn),但是根據(jù)通用慣例和編碼規(guī)范,回調(diào)函數(shù)的命名應(yīng)該能夠反映函數(shù)的作用和功能,讓其他開發(fā)者能夠快速理解并使用。
    發(fā)表于 03-04 14:49 ?798次閱讀

    嵌入式Linux C語言編程程序調(diào)試與定義

    在Linux使用gcc編譯程序的時(shí)候,對于調(diào)試的語句還具有一些特殊的語法。gcc編譯的過程中,會生成一些,可以使用這些分別打印當(dāng)前源文件的信息,主要內(nèi)容是當(dāng)前的文件、當(dāng)前運(yùn)行的函數(shù)和當(dāng)前的程序行。
    發(fā)表于 03-01 11:41 ?1101次閱讀

    內(nèi)聯(lián)函數(shù)定義 為什么需要內(nèi)聯(lián)函數(shù)

    inline關(guān)鍵字是C99標(biāo)準(zhǔn)的型關(guān)鍵字,其作用是將函數(shù)展開,把函數(shù)的代碼復(fù)制到每一個(gè)調(diào)用處。
    的頭像 發(fā)表于 02-19 12:20 ?574次閱讀

    車載無線充用的超級電容應(yīng)該怎么

    車載無線充用的超級電容應(yīng)該怎么? 在選擇車載無線充電器使用的超級電容時(shí),有幾個(gè)關(guān)鍵因素需要考慮。本文將詳細(xì)介紹超級電容的原理、性能指標(biāo)以及選購建議,以幫助讀者更好地理解和選擇適合自己的車載無線
    的頭像 發(fā)表于 02-03 14:28 ?3002次閱讀
    主站蜘蛛池模板: 欧美一级久久久久久久久大| 黑人强伦姧人妻日韩那庞大的| 文中字幕一区二区三区视频播放| 极品 女神校花 露脸91| 99精品视频在线免费观看 | 乳巨揉みま痴汉电车中文字幕动漫| 久久99精国产一区二区三区四区 | 嫩草欧美曰韩国产大片| 红番阁免费观看| 风流少妇BBWBBW69视频| 97资源站超碰在线视频| 一本道的mv中文字幕| 天堂岛www天堂资源在线| 男总裁憋尿PLAY灌尿BL | 歪歪漫画羞羞漫画国产| 日本阿v片在线播放免费| 免费毛片试看| 久久国产精品永久免费网站| 国产浮力草草影院CCYY| 被肉日常np高h| 91久久偷偷做嫩草影院免费看| 野花影院手机在线观看| 亚洲国产精品久久又爽黄A片| 视频一区视频二区ae86| 漂亮妈妈中文字幕版| 乱叫抽搐流白浆免费视频| 精品国产乱码久久久久久上海公司 | 国内精品久久久久影院网站 | 久久99re6国产在线播放| 国精品产露脸偷拍视频| 国产精品久久久久久久久久久| MM131亚洲精品久久安然| 97碰成视频免费| 1000视频在线播放| 在线看片成人免费视频| 一边亲着一面膜下奶韩剧免费| 亚洲乱码AV久久久久久久| 亚洲国产在线播放在线| 亚洲 综合 欧美在线 热| 学生无码AV一区二区三区| 午夜国产福利|