c語言帶參數(shù)的函數(shù)宏定義,c語言 宏參數(shù)

C語言,帶參數(shù)的宏定義

Power2(x)這個宏的意思是把x用x*x代替

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)崆峒,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

在你程序里,出現(xiàn)在括號里的東西是i+j,那么編譯器就會用

i+j*i+j

的代碼替換,如果是

#define

Power2(x)

(x)*(x),就會替換成(i+j)*(i+j),那么輸出結(jié)果就是196。

同樣,如果改成

#define

Power2(x)

x/x

那么代碼就換替換成i+j/i+j,那么結(jié)果就是15。

C語言中帶參數(shù)的宏定義問題

上面是 宏 定義。

第一行 DEFINE...SUITE 是宏函數(shù)名,小括號里是 三個 形式參數(shù)。 定義為 下面第二行開始 含 續(xù)行號的 所有的行。 程序中出現(xiàn) DEFINE...SUITE 宏函數(shù)時,均用 它的 定義句 做字符替代。

定義句替代宏函數(shù)時,凡是有 三個形式參數(shù) 的地方,用 實際參數(shù) 做字符替代。

## 是 連接符,用于一個Token 與另 一個Token 的 連接,(Token 也可以是另外的宏,也可以不是)。

例子: 若形參_sym的實際參數(shù) 是 XYZ, 那么 _test_str_##_sym[] 變成 _test_str_XYZ[]。 這個 _test_str_XYZ 是 static const char型 數(shù)組的名字。

后面還有個 .name = _test_str_XYZ, 也是token的連接。

C語言 有參數(shù)宏定義

宏屬于預(yù)編譯,在編譯的時候就將你的

SSSV(sa,sb,sc,vv);

替換成

sa=l*w;sb=l*h;sc=w*h;vv=w*l*h;

這些編譯器已經(jīng)給你處理了,宏這個就是直接替換

宏有編寫規(guī)范的,你這里寫的宏并不規(guī)范,建議上網(wǎng)查一下宏書寫的規(guī)范

網(wǎng)頁題目:c語言帶參數(shù)的函數(shù)宏定義,c語言 宏參數(shù)
URL網(wǎng)址:http://muchs.cn/article18/hcpddp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、移動網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、ChatGPT建站公司、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)