宏不是函數(shù),頂多可以用有參宏,啟手但宏絕不是函數(shù),宏,說(shuō)白了,它的納孝作用就是代碼字面洞旁稿上的替換
成都創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、通道網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、成都商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為通道等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
#define FUN() “ !C*!D+A*!B*!D+!A*B*!C+A*B*C*D ”
char *str=FUN();
就完全等價(jià)于char *str=“ !C*!D+A*!B*!D+!A*B*!C+A*B*C*D ” ;
宏定義 #define N 100
是預(yù)編譯命令畝舉,它的意思是 對(duì)下面程序中出現(xiàn)的 ( token) N 作字符替代,把所有的
N 用 100 替代后 再進(jìn)行 編譯。 這里的 100 是一串字符, 而不叫 “字符串”早畝,
字符串 是 術(shù)語(yǔ),指的是 c/c++ 中的 “字符串常量”,即雙引號(hào)括起來(lái)的一串字符 加陸耐森 一個(gè)不可見(jiàn)的 字符串結(jié)束符 構(gòu)成的 對(duì)象。
根據(jù)編譯環(huán)境,有如下方式:
1 部分編譯器中,支持__FUNCTION__或__func__宏。該宏為編譯器定義,值為被調(diào)用函數(shù)的函數(shù)名轉(zhuǎn)換成的字符串。如在func()中調(diào)用__FUNCTION__,則該宏的值為"func"。
2 如果編譯器不支持上述宏名,那么需要手動(dòng)添加宏。可以有如下兩種方式:
a. 直接定義對(duì)應(yīng)字符串,如
#define FUNC_NAME "func"
字符串中的直接寫(xiě)明。
b. 統(tǒng)一函數(shù)轉(zhuǎn)換。利用宏定義的#操作,可蠢汪以實(shí)現(xiàn)標(biāo)識(shí)符向字符串的簡(jiǎn)棚轉(zhuǎn)換。
#define FUNC_NAME(x) #x
這時(shí)調(diào)用FUNC_NAME(func)就等攔檔則效于"func"。
用拼接遲慧符可以做到
#define STRING(arg) "AAAAAAA"##arg##"BBBBBBBBBB"
但碼弊答arg必卜凱須是個(gè)常量,不能是變量
文章名稱(chēng):c語(yǔ)言宏函數(shù)字符串 c語(yǔ)言中的宏
文章地址:http://www.chinadenli.net/article38/ddpidpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、用戶(hù)體驗(yàn)、外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、Google、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)