看过《C缺陷与陷阱》的求教一下
在书中,有一个这样的例子:
typedef void (*HANDLER)(int);
void signal(int,HANDLER);
void (*signal(int,void(*)(int)))(int);
SYNOPSIS
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
NOTES
The use of sighandler_t is a GNU extension, exposed if _GNU_SOURCE is defined; glibc also
defines (the BSD-derived) sig_t if _BSD_SOURCE is defined. Without use of such a type,
the declaration of signal() is the somewhat harder to read:
void ( *signal(int signum, void (*handler)(int)) ) (int);