上一篇文章是关于运算符的优先级的,这篇文章则来说说关于C语言中的复杂声明。C语言中的声明是不能从左往右读的,时而往左时而往右,有时候弄得人头大,什么数组指针、指针数组傻傻弄不清楚,函数指针更是模棱两可。复杂声明更是令人敬而远之了,常常被作为例子的就是系统调用里的signal函数了,它在signal.h中声明的,声明如下
void (*signal(int, void(*)))(int);
是不是需要琢磨一番呢,其实在经典的C语言书籍中都很清楚地讲过这个问题了,C专家编程里讲得十分的好,而且这本书也十分的好,作者还时不时的小幽默一把。