我正在研究unix中的信号处理并遇到了这个
void (*signal(int sig, void (*func)(int)))(int);
我不明白这个原型以及它如何返回指向函数的指针。
我还阅读了这个答案: C 中的函数指针如何工作?但我不清楚。
它应该返回一个函数指针,但我不明白它在哪里将返回类型指定为另一个函数指针。
我看到它的方式是,如果我(*foo(int n))
在函数定义中使用该函数的返回类型将foo(int n)
成为函数指针。这是正确的吗?
有没有更简单的例子?