预处理与宏
#include
#define
#ifdef #ifndef #else #endif
#if #elif #endif
#line
#error
#pragma
可变宏: ...和__VA_ARGS__
#define PT(...) printf(__VA_ARGS__);
PT("%d %s\n", 5, "hello");
宏参数创建字符串:#
#define PT(X) printf("The argument is " #X) //PT(5)-->The arguent is 5
两个语言符号粘合成一个:##
#define INAME(n) i##n // int INAME(3) ; == int i3;