//《C陷阱和缺陷》例子
/*
(* (void(*)())0)();
void(*)()函数指针类型
把0强制类型转换成 void(*)()函数指针类型 0就是函数的地址
*解引用找到函数 调用0地址处、参数是无参、返回类型是void的函数
void(*signal(int,void(*)(int)))(int);
siganal函数声明
参数2个:int整形和void(*)(int)函数指针 函数指针指向函数的参数是int 返回类型是void
返回类型:void(* )(int)也是函数指针
typedef void(*pfun_t)(int);
pfun_t signal(int, pfun_t);
*/
/*
()的优先级大于*
函数指针:是指针 指向一个函数
int (*f)(int x,int y) 是一个指针,参数为int int 返回类型为int
指针函数:是函数 返回类型是指针
int* f(int x,int y); 是函数,返回一个int型的指针
char*const *(*next)();对这行代码解释
(*next)-->next是一个指针
(*next)()-->next是一个函数指针
char*const -->常量指针,指针的指向不可变,指向的内容可变
char*const*(*next)()-->函数指针,该指针指向一个无参、返回值是一个指针,该指针指向的数据类型是常量指针
栗子:int* f();f是一个无参、返回值是int*指针的函数 int*:一个指向int型的指针
*/