在C語言源程序中,允許用一個標(biāo)識符來表示一個字符串,稱為宏,宏定義是由源程序中的宏定義命令完成的,宏替換是由預(yù)處理程序自動完成的。宏定義是C提供的三種預(yù)處理功能的其中一種,這三種預(yù)處理包括:宏定義、文件包含、條件編譯。
成都創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都做網(wǎng)站與策劃設(shè)計,合陽網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:合陽等地區(qū)。合陽做網(wǎng)站價格咨詢:18980820575
C語言中,預(yù)處理過程讀入源代碼,檢查包含預(yù)處理指令的語句和宏定義,并對源代碼進(jìn)行相應(yīng)的轉(zhuǎn)換,預(yù)處理過程還會刪除程序中的注釋和多余的空白符號。
預(yù)處理指令是以#開頭的代碼行,#必須是該行除了空白字符外的第一個字符。#后是指令關(guān)鍵字,在#和指令關(guān)鍵字之間允許存在若干空白字符。
宏的用途
在于自動化頻繁使用的序列或者是獲得一種更強(qiáng)大的抽象能力。
計算機(jī)語言如C語言或匯編語言有簡單的宏系統(tǒng),由編譯器或匯編器的預(yù)處理器實現(xiàn)。C語言的宏預(yù)處理器的工作只是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C程序員可以獲得更精巧的宏。
Lisp類語言如Common Lisp和Scheme有更精巧的宏系統(tǒng):宏的行為如同是函數(shù)對自身程序文本的變形,并且可以應(yīng)用全部語言來表達(dá)這種變形。一個C宏可以定義一段語法的替換,然而一個Lisp的宏卻可以控制一節(jié)代碼的計算。
以上內(nèi)容參考:百度百科-宏定義
在C語言源程序中,允許用一個標(biāo)識符來表示一個字符串,稱為宏,宏定義是由源程序中的宏定義命令完成的,宏替換是由預(yù)處理程序自動完成的。宏定義是C提供的三種預(yù)處理功能的其中一種,這三種預(yù)處理包括:宏定義、文件包含、條件編譯。
擴(kuò)展資料:
宏(Macro),是一種批量處理的稱謂。計算機(jī)科學(xué)里的宏是一種抽象,它根據(jù)一系列預(yù)定義的規(guī)則替換一定的文本模式。
計算機(jī)語言如C語言或匯編語言有簡單的宏系統(tǒng),由編譯器或匯編器的預(yù)處理器實現(xiàn)。C語言的宏預(yù)處理器的工作只是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C程序員可以獲得更精巧的宏。
參考資料:
宏定義百度百科
簡單地說就是,如果你定義了一個#define
a
abc的話,那么程序在編譯的時候,你程序里所有單個的a都將被替換為abc。說到底,“宏”就是“置換”。