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