C語言中的 跟 用法

2021-06-07 22:38:45 字數 525 閱讀 2745

今天在看公司原來程式的時候發現有一些巨集變數使用了#跟##,專門查了一下它們的用法。

下面的從網上找到的

1、#.引數名以#作為字首則結果將被擴充套件為由實際引數的帶引號的字串。

例如:

#if 0

#include #define dprint(expr) printf(#expr "= %d\n",expr);

int main()

#endif

最後程式將輸出a/b=2.

2、##將會進行字串的連線。

例如:

#if 1

#include #define createfun(name1,name2) \

void name1 ## name2 () \

createfun(the,function)

int main()

#endif

最後程式將會輸出:thefunction called.

下階段我會寫一些自己的#跟##,來加強訓練。

C語言中的typedef跟define的區別

今天用c語言練習時涉及到了typedef和define的使用問題,那麼他們的區別是啥?這種情況下為什麼要用typedef?哪種情況下為什麼要用define呢?學習c的時候的你是否考慮過這個問題呢?今天我決定梳理一下,以備後用。相同點 1 都可以給變數起別名 不同點 1 define定義後可以擴充套件...

C語言中extern的用法

在c語言中,修飾符extern用在變數或者函式的宣告前,用來說明 此變數 函式是在別處定義的,要在此處引用 1.extern修飾變數的宣告。舉例來說,如果檔案a.c需要引用b.c中變數int v,就可以在a.c中宣告extern int v,然後就可以引用變數v。這裡需要注意的是,被引用的變數v的鏈...

C語言中extern的用法

第一篇 一,static和extern 大工程下我們會碰到很多原始檔。檔案a.c static int i 只在a檔案中用 int j 在工程裡用 static void init 只在a檔案中用 void callme 在工程中用 上面的全域性i變數和init 函式只能用在a.c檔案中,全域性變數...