日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言知识点--define的替换列表为空是怎么回事?

發布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言知识点--define的替换列表为空是怎么回事? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在學習C語言的過程中一般遇到的兩種預定義的語句:一種是帶參數的預定義,也就是我們所說的常函數,比如說#define ADD(x, y) x+y;一種是不帶參數的預定義,也就是預定義變量,例如#define PI 3.1415926。

那么這種形式你是否見過:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #define DEBUG
你沒看錯,就是這樣,替換列表怎么不見了?怎么和我平時見到的預定義語句不一樣呢?

雖然這樣的寫法單看很奇怪,但卻是合法的。

我們來結合#ifdef來看,就不覺得奇怪了。

#ifndef NVM #define NVM #define NVM_PARAMETER 1#endif

這段代碼的意思是:檢測程序是否已經預定義了NVM,如果已經定義,那么就不再執行#ifndef中的語句,如果沒有定義,定義沒有替換列表的NVM常量,并定義NVM_PARAMETER,之后結束。

那么到這里大家可能已經明白了,沒有替換列表的宏定義其實單獨拿出來沒有意義,但可以用來控制語句的執行,這樣可以避免重復執行某些預定義的語句,提高程序運行的效率。

所以再遇到沒有替換參數得到宏定義的時候,要和條件判斷語句結合著來看哦。

這個知識點是博主在工作時遇到的小知識點,由于網上不容易查到資料,我就詳細整理了一下,能幫到大家就更好了,如果哪里說的有錯,希望各位批評指正!謝謝!

總結

以上是生活随笔為你收集整理的C语言知识点--define的替换列表为空是怎么回事?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。