#define宏定义中特殊符号

1. #:在宏展开的时候会将#后面的参数替换成字符串,如:

  #define ToString(x) #x

  那么 char  *str = ToString(123); 结果str="123";

 

2. ##:将前后两个的单词拼接在一起,如:

  #define cat(x,y) x##y

  那么 int n = cat(52, 123); 结果 n =52123;

 

3. #@:将值序列变为一个字符

  #define ToChars(c) #@c

  调用ch(a)展开后成为'a'.

你可能感兴趣的:(c)