巨集定義 define

2021-07-31 02:56:06 字數 1002 閱讀 7416

巨集定義又稱為巨集代換、巨集替換,簡稱「巨集」。

格式: define 識別符號 字串

其中的識別符號就是所謂的符號常量,也稱為「巨集名」。

預處理(預編譯)工作也叫做巨集展開:將巨集名替換為字串。

(1)、#define printx printf(「%d\n」, x)

在c程式中,以「#」字元開頭的**都是一條c預處理器語句。預處理器的工作之一是把乙個記號字串替換為另乙個。該define語句告訴預處理器把**裡的「printx」記號全部替換為字串」printf(「%d\n」, x)」。

(2)、#define printx(x) printf(「%d\n」, x)

其中」print」是乙個帶引數的巨集。在遇到帶引數的巨集時,c語言的預處理器將分兩步進行替換:先把巨集定義裡面的引數替換為實際引數,再把巨集呼叫替換為巨集定義體。

(3)、#define printx(x) printf(#x 「%d\n」, x)

這個」print」巨集需要用到c語言預處理器的」#」操作符和字串合併操作。在擴充套件的時候,形式引數x將被替換為巨集呼叫裡的實際引數;在形式引數的前面加上乙個」#」字元作為字首,將使得實際引數被括在一對雙引號裡面;最後,c語言預處理器會自動將相鄰的字串合併。

define巨集定義

預處理指令 以 開頭的行,都預處理指令,用於指示編譯器做一些預處理工作。比如 include h 注 預處理指令不是語句,行尾不要加分號 define的兩種用法 1.定義乙個 數值 2.定義乙個 算式 注 工程中應該避免使用這兩種方式 定義乙個值 define pi 3.14 int main 定義...

define巨集定義

include include define sub x,y x y define access before element,offset,value sub element,offset value using namespace std int main access before array...

define巨集定義

c 中的巨集定義詳解 如何用 define巨集定義多行函式 c 中 需要訪問類a的私有成員變數,如何實現 1.define private public 採用巨集定義,巨集定義在預處理階段被替換,因此使用巨集定義函式時要特別注意優先順序問題,所以編譯之前private已經變成public了。incl...