#define
Reference:
#define的一些特殊用法
1. #
: 在宏(macro)展開的時候,會將#後面的參數替換成字串
EX:
#define p(exp) printf(#exp)
output = "exp"
2. ##
:將前後兩個的單詞拼接在一起
EX:
#include <stdio.h>
#define cat(x,y) x##y()
void BubbleSort()
{
printf("BubbleSort\n");
}
int main()
{
cat(Bubble, Sort); //這裡類似於function pointer的用法
return 0;
}
output: BubbleSort
3. #@
:將值變成一個字符
EX:
#define ch(c) #@c
int main()
{
printf("--%c--\n", ch(a));
return 0;
}
output: a