이것은 signal
함수의 서명입니다.
첫 번째 인수 signr
은 int
유형이며 처리기를 변경하려는 신호입니다.
두 번째 인수 sighandler
은 void (*)(int)
유형의 함수 포인터, 즉 int
을 가져와 void
을 반환하는 함수 포인터입니다. 이 매개 변수는 신호를 처리 할 함수의 이름입니다.
이 함수는 이전 신호 처리 함수를 가리키는 유형 void (*)(int)
(인수 2와 동일한 유형)의 함수 포인터를 반환합니다.
것은 아래로 속보 :
signal // signal
signal() // is a function
signal(int) // taking a int
signal(int, void (*)(int)) // and a function pointer
// which takes an int and return void
(*signal)(int, void (*)(int))(int) // and returns a function pointer
// which takes an int
void (*signal)(int, void (*)(int))(int) // and returns void
남자 페이지를 만드는 형식 정의가 포함이 더 명확 조금 :
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
[cdecl 규칙 (https://cdecl.org/?q= void + % 28 * 신호 % 28int % 2C + void % 28 * % 29 % 28int % 29 % 29 % 29 % 28int % 29) –