我正在研究信号处理,我对信号的返回有疑问:
void (*sighandler_t)(int);
我知道它是指向信号处理程序的前一个函数的指针,但我不知道参数“(int)”的含义。
非常感谢!
答案 0 :(得分:4)
信号处理程序的int
参数是导致调用该处理程序的信号编号。如果您有多个信号连接到相同的信号处理函数,这将非常有用。
答案 1 :(得分:2)
(int)
是该类型的一部分; sighandler_t
类型是指向返回void
并以int
作为参数的函数的指针。
答案 2 :(得分:1)
信号处理函数具有您发布的签名。当程序收到信号时,系统会调用您的信号处理程序并向其发送要作为参数处理的信号,因此您可以为多种信号类型设置一个公共处理程序,例如。
答案 3 :(得分:0)
这不完全是指向前一个函数的指针。它是一种函数指针的声明。
该指针适用于具有void返回类型和int参数的任何函数。
详细了解此语法的工作原理