当前位置: 技术问答>linux和unix
signal函数的定义问题?搞不懂.
来源: 互联网 发布时间:2015-01-03
本文导语: 虽然我学了很长时间的C了,可是还是看不懂这个定义. void (* signal(int signum,void (* handler)(int)))(int); | 关键是你要知道他的返回值是个什么东西。知道了就好理解了。 signal返回旧的信号处理函...
虽然我学了很长时间的C了,可是还是看不懂这个定义.
void (* signal(int signum,void (* handler)(int)))(int);
void (* signal(int signum,void (* handler)(int)))(int);
|
关键是你要知道他的返回值是个什么东西。知道了就好理解了。
signal返回旧的信号处理函数指针。也就是 void (*)(int)
好了,你看,我们这样改写一下
typedef void (*signalhandler_type)(int);
signalhandler_t signal(int signum, sighandler_t handler);
这样就明白了吧,上面两行和在一起就是:
void (*signal(int signum,void (* handler)(int)))(int);
signal返回旧的信号处理函数指针。也就是 void (*)(int)
好了,你看,我们这样改写一下
typedef void (*signalhandler_type)(int);
signalhandler_t signal(int signum, sighandler_t handler);
这样就明白了吧,上面两行和在一起就是:
void (*signal(int signum,void (* handler)(int)))(int);