最近在读c陷阱与缺陷,摘取些有用的东西。
(*(void(*)())0)()
1 void(*f)() 表示f是一个指向返回值为空的函数的指针。
2 (void(*)()) 表示一个“指向返回值为空的函数的指针”的类型转换。
3 假定fp是一个函数指针,则 *fp及时该指针指向的函数。
4 (*fp)()就是调用fp指向的函数。
4 所以,(*(void(*)())0)()是调用地址为0,返回值为空的函数。
void (*signal(char))(int)
signal是 参数为char型,返回 一个参数int型返回值是void的函数 的函数指针。