C 中乙個井號和兩個井號的使用

2022-08-19 04:36:13 字數 485 閱讀 9171

#define warn_if(exp) \

do \

while(0)

//那麼實際使用中會出現下面所示的替換過程:

warn_if (divider == 0);

//被替換為

do while(0);

2.##被稱為連線符(concatenator),用來將兩個token連線為乙個token。注意這裡連線的物件是token就行,而不一定是巨集的變數,比如:
#define link_multiple(a, b, c, d) a##_##b##_##c##_##d

typedef struct _record_type link_multipl (name, company, position, salary);

//這裡這個語句將展開為:

typedef struct _record_type name_company_position_salary;

兩個井號 和 乙個井號

連線符 兩個井號 不知道什麼符 乙個井號 連線符號由兩個井號組成,其功能是在帶引數的巨集定義中將兩個子串 token 聯接起來,從而形成乙個新的子串。但它不可以是第乙個或者最後乙個子串。所謂的子串 token 就是指編譯器能夠識別的最小語法單元。具體的定義在編譯原理裡有詳盡的解釋 符是把傳遞過來的引...

兩個井號 和 乙個井號 都是什麼意思

連線符 兩個井號 不知道什麼符 乙個井號 連線符號由兩個井號組成,其功能是在帶引數的巨集定義中將兩個子串 token 聯接起來,從而形成乙個新的子串。但它不可以是第乙個或者最後乙個子串。所謂的子串 token 就是指編譯器能夠識別的最小語法單元。具體的定義在編譯原理裡有詳盡的解釋 符是把傳遞過來的引...

兩個井號 和 乙個井號 都是什麼意思

連線符 兩個井號 不知道什麼符 乙個井號 連線符號由兩個井號組成,其功能是在帶引數的巨集定義中將兩個子串 token 聯接起來,從而形成乙個新的子串。但它不可以是第乙個或者最後乙個子串。所謂的子串 token 就是指編譯器能夠識別的最小語法單元。具體的定義在編譯原理裡有詳盡的解釋 符是把傳遞過來的引...