C語言巨集定義的一些用法

2021-10-07 21:45:03 字數 625 閱讀 4990

do while(0):在巨集定義中合理使用do-while(0)可以更規範地使用巨集定義

/* 沒有使用do-while(0)前 */

#define led_on()

int main(void)

;」多了個分號

}/* 使用do-while(0) */

#define led_on() dowhile(0)

int main(void)

while(0);」

}

2. ##:雙#號連線巨集

/* 不使用"##" */

#define led0_on() dowhile(0)

#define led1_on() dowhile(0)

#define led2_on() dowhile(0)

#define led3_on() dowhile(0)

#define led4_on() dowhile(0)

/* 使用「##」, 一條巨集定**決,但注意:這裡的n不是變數,在必須是固定 */

#define led_on(n) dowhile(0)

巨集定義的一些用法

c及c 通過預處理器提供了一些語言功能,最常用的有 include指令,用於包含標頭檔案,其他如 define及巨集定義,也被稱為巨集替換,當編譯器編譯到帶巨集定義的語句時,會直接替換為定義語句.例如,假如我定義有 define maxlength 100,那麼,在編譯器編譯到所有maxlength...

巨集定義的一些特殊用法

1 有參巨集定義中 的用法 definestr str str 用於把巨集定義中的引數兩端加上字串的 比如,這裡str my name 會被替換成 my name 一般由任意字元都可以做形參,但以下情況會出錯 str 這樣,編譯器不會把 當成str 的引數。str 同上,編譯器不會把 當成str的引...

C巨集 define的一些用法

c語言中的 define命令,在編譯預處理時進行簡單的字元替換。其使用的一般形式為 define 識別符號 字串 其中的 表示這是一條預處理指令。凡是以 開頭的均為預處理命令。define 為巨集定義命令。識別符號 為所定義的巨集名。字串 可以是常數 表示式 格式串等。1.最常見的一種用法也是最簡單...