Объясните пусто (*signal (интервал signo, пусто * (func) (интервал))) (интервал)

Объясните эту подпись типа: void (*signal(int signo, void *(func)(int)))(int)

5
задан Shrayas 12 October 2012 в 06:52
поделиться

1 ответ

Сигнатура типа функции signal становится немного более понятной, если использовать typedef для передаваемых указателей функций:

typedef void (*sighandler_t)(int);
sighandler_t signal(int signo, sighandler_t func);

sighandler_t - это указатель на функцию, которая принимает параметр int и ничего не возвращает. Функция signal принимает такой указатель функции в качестве второго параметра. Она также возвращает указатель функции этого типа.

17
ответ дан 18 December 2019 в 09:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: