typedef char * ptrtochar ptrtochar a, b; a, b都是字符指针 #define ptrtochar char * ptrtochar a, b; a是字符指针,b是字符
#undef name 这条指令用于移除一个宏定义,如果一个现存的名字需要重新定义,那么它的旧定义首先必须用#undef移除。
条件编译 #if condition statements #endif
是否定义 #if defined(symbol) #ifdef symbol
#if !defined(symbol) #ifndef symbol
int fuc()[];这个函数是非法的,函数只能返回标量值,不能返回数组。 int f[]();也是非法的,数组元素必须具有相同的长度,而不同的函数显然可能具有不同的长度。 int (*f[])();是合法的,首先f是一个数组,它的元素是某种类型的指针,数组元素的类型是个函数指针。它所指向的函数的返回值是整形。 int *(*f[])();和上一个类似,只不过数组元素指向的函数的返回值是整形指针。