define的幾點特殊用法

2021-06-21 03:11:07 字數 519 閱讀 4543

#define conn(x,y) x##y

#define tochar(x) #@x

#define tostring(x) #x

x##y表示什麼?表示x連線y,舉例說:

int n = conn(123,456);   結果就是n=123456;

char* str = conn("asdf", "adf")結果就是 str = "asdfadf";

再來看#@x,其實就是給x加上單引號,結果返回是乙個const char。舉例說:

char a = tochar(1);結果就是a='1';

做個越界試驗char a = tochar(123);結果是a='3';

但是如果你的引數超過四個字元,編譯器就給給你報錯了!error c2015: too many characters in constant   :p

最後看看#x,估計你也明白了,他是給x加雙引號

char* str = tostring(123132);就成了str="123132";

define 特殊用法

define conn x,y x y define tochar x x define tostring x x x y表示什麼?表示x連線y,舉例說 int n conn 123,456 結果就是n 123456 char str conn asdf adf 結果就是 str asdfadf 再...

define特殊用法

define conn x,y x y define tochar x x define tostring x x x y表示什麼?表示x連線y,舉例說 int n conn 123,456 結果就是n 123456 char str conn asdf adf 結果就是 str asdfadf 怎...

C中的define 特殊用法

今天,我的乙個同學告訴我了乙個define的另一用法,之前我是真心不知啊!非常感謝他願意告訴我,他願意與我分享,我又怎木能 吃獨食 呢!哈哈!所以我就想把他記錄下來,分享給各位看客,同時也使自己不會忘記。好了,開始了!首先來看乙個例子 這個很平常,大家都會用,但如果是下面這樣使用,可以嗎?好,讓我們...