cdecl 可以帮助分析复杂的声明:
firefly@firefly:~/test$ cdecl
Type `help' or `?' for help
cdecl> explain int (*(*f)())[10];
declare f as pointer to function returning pointer to array 10 of int
cdecl> declare f as pointer to function returning pointer to array 10 of int
int (*(*f)())[10]
cdecl>
#undef 用于移除一个宏定义
#if DEBUG
puts(“”);
#endif
#define DEBUG 1/0
#if CC
ss
#elif BB
dd
#else
ff
#endif