有五種用法,含有引數和不含引數,行尾都不用加分號
#define 《識別符號》 [《替換列表》]
//類似於全域性變數了
//如果其他檔案沒有包含定義巨集的檔案,則在巨集定義的位置結束,如果有包含,則到包含的檔案結束
#define largest_num 1000
#define 《識別符號》 ([引數列表]) ([替換列表])
//注意,替換列表裡面必須加上括號,否則可能會導致歧義
//當然,替換列表也可以新增中括號,就看自己的用法了{}
#define add (a,b) (a+b)
#ifdef #else #ifndef #endif 組合起來可以進行條件編譯
//#ifdef以及#ifndef和#endif 是成對出現的
#ifdef debug..
.#else..
.#endif
檔案包含,在多重引用的情況下,很容易搞混乙個h檔案是否已經包含。如果不確定,可以使用如下語句進行包含
#ifndef _headfile_
#define _headfile_..
....
#endif
更多的替換 ##,#@,#
//作用是連線x和y
#define conn(x,y) x##y..
.int a=
conn
(123
,456);
//那麼a=123456
string s=
conn
(123
,456);
//那麼s="123456"
//作用是把x轉換為char並返回
#define tochar (x) #@x ..
.//x不能超過4個字元,否則就會報超長錯誤
char a =
tochar(1
)
//作用是把x轉換為string,並返回,
#define tostring (x) #x..
.//返回的結果是"123456"
string s=
tostring
(123456
)
關於巨集定義的用法
如何解釋下面這段 define led1 a if a gpio setbits gpioc,gpio pin 3 else gpio resetbits gpioc,gpio pin 3 首先,這個是用巨集定義的方式包裝成類似函式那樣,但不是函式呼叫 你在 中呼叫 led1 1 實際上通過巨集定義...
巨集定義的幾種用法
1 用 define 定義識別符號的一般形式為 define 識別符號 常量 注意,最後沒有分號 2 第一種用法,巨集定義固定值 define pi 3.14 定義pi固定為3.14程式中不可修改 2 第二種用法,巨集定義乙個帶引數值 define data n if n printf 真 else...
巨集定義中 和 的用法
1.前言 使用 把巨集引數變為乙個字串,用 把兩個巨集引數貼合在一起.2.一般用法 include include using namespace std define str s s define cons a,b int a e b int main 3.注意事項 當巨集引數是另乙個巨集的時候,...