宏定義又稱為宏代換、宏替換,簡(jiǎn)稱“宏”。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站建設(shè)、惠安網(wǎng)絡(luò)推廣、小程序開發(fā)、惠安網(wǎng)絡(luò)營(yíng)銷、惠安企業(yè)策劃、惠安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供惠安建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:jinyejixie.com
是C提供的三種預(yù)處理功能的其中一種。
1、宏名一般用大寫。
2、使用宏可提高程序的通用性和易讀性,減少不一致性,減少輸入錯(cuò)誤和便于修改。例如:數(shù)組大小常用宏定義。
3、預(yù)處理是在編譯之前的處理,而編譯工作的任務(wù)之一就是語(yǔ)法檢查,預(yù)處理不做語(yǔ)法檢查。
4、宏定義末尾不加分號(hào)。
5、宏定義寫在函數(shù)的花括號(hào)外邊,作用域?yàn)槠浜蟮某绦?,通常在文件的最開頭。
6、可以用#undef命令終止宏定義的作用域。
7、宏定義可以嵌套。
8、字符串" "中永遠(yuǎn)不包含宏。
9、宏定義不分配內(nèi)存,變量定義分配內(nèi)存。
在C語(yǔ)言源程序中,允許用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)字符串,稱為宏,宏定義是由源程序中的宏定義命令完成的,宏替換是由預(yù)處理程序自動(dòng)完成的。宏定義是C提供的三種預(yù)處理功能的其中一種,這三種預(yù)處理包括:宏定義、文件包含、條件編譯。
擴(kuò)展資料:
宏(Macro),是一種批量處理的稱謂。計(jì)算機(jī)科學(xué)里的宏是一種抽象,它根據(jù)一系列預(yù)定義的規(guī)則替換一定的文本模式。
計(jì)算機(jī)語(yǔ)言如C語(yǔ)言或匯編語(yǔ)言有簡(jiǎn)單的宏系統(tǒng),由編譯器或匯編器的預(yù)處理器實(shí)現(xiàn)。C語(yǔ)言的宏預(yù)處理器的工作只是簡(jiǎn)單的文本搜索和替換,使用附加的文本處理語(yǔ)言如M4,C程序員可以獲得更精巧的宏。
參考資料:
宏定義百度百科
C語(yǔ)言中的宏定義用法分為兩種。
1、不帶參數(shù)的宏定義比較簡(jiǎn)單,就是用一個(gè)指定的標(biāo)識(shí)符來(lái)代表一個(gè)字符串。它的一般形式為“#define 標(biāo)識(shí)符 字符串”,例如#define E 2.718281828459。這種方法使用戶能以一個(gè)簡(jiǎn)單的名字代替一個(gè)長(zhǎng)的字符串。
2、帶參數(shù)的宏定義不是僅僅進(jìn)行簡(jiǎn)單的字符串替換,還要進(jìn)行參數(shù)替換。其定義的一般形式為;“#define 標(biāo)識(shí)符(宏名)(參數(shù)表) 字符串”,字符串中包含在括號(hào)中所指定的參數(shù)。例如#define S(a,b) a*b area=S(3. 2)。
擴(kuò)展資料:
宏定義只占編譯時(shí)間,函數(shù)調(diào)用則占用運(yùn)行時(shí)間(分配單元,保存現(xiàn)場(chǎng),值傳遞,返回),每次執(zhí)行都要載入,所以執(zhí)行相對(duì)宏定義會(huì)較慢。
使用宏定義次數(shù)多時(shí),宏定義展開后源程序很長(zhǎng),因?yàn)槊空归_一次都使程序增長(zhǎng),但是執(zhí)行起來(lái)比較快一點(diǎn)(這也不是絕對(duì)的,當(dāng)有很多宏定義展開,目標(biāo)文件很大,執(zhí)行的時(shí)候運(yùn)行時(shí)系統(tǒng)換頁(yè)頻繁,效率就會(huì)低下)。而函數(shù)調(diào)用不使源程序變長(zhǎng)。
網(wǎng)站欄目:c語(yǔ)言的宏定義函數(shù)名 C語(yǔ)言宏定義函數(shù)
當(dāng)前URL:http://jinyejixie.com/article16/docpigg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、商城網(wǎng)站、全網(wǎng)營(yíng)銷推廣、手機(jī)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(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)