Вопросы

Как использовать указатель функции для возврата указателя функции?

Я изучал обработку сигналов в Unix и наткнулся на это

void (*signal(int sig, void (*func)(int)))(int);

Я не понимаю этот прототип и то, как он возвращает указатель на функцию.

Я также прочитал этот ответ: Как работают указатели функций в C? но мне непонятно.

Предполагается, что он возвращает указатель на функцию, но я не понимаю, где он указывает тип возвращаемого значения в качестве другого указателя на функцию. указатель на функцию. Правильно ли это?
Есть ли для этого более простой пример?

Также: объяснение cdecl   —  person rs911    schedule 12.08.2013

@millimoose Спасибо, это действительно полезно.   —  person rs911    schedule 12.08.2013

Кроме того, возвращаемый тип становится указателем на функцию путем добавления списка параметров после сигнатуры функции. (который уже содержит несвязанный список параметров.) Сравните void (*foo(int))< /a> (то же самое, что void *foo(int), но не void (*foo)(int)) и void (*foo(int))(long). Другими словами: возвращаемый тип функции — это то, что находится вне сигнатуры, а не только слева от нее.   —  person rs911    schedule 12.08.2013

Читать:
Всегда ли sizeof (char *) равен sizeof (double *)?

Похожие записи

Изменение правила по умолчанию для прослушивателя AWS ALB через интерфейс командной строки AWS

admin

Генерация данных формата TFRecord из C +

admin

Бесконечная вертикальная прокрутка в обоих направлениях (добавление элементов динамически вверху / внизу), которая не мешает положению прокрутки при добавлении в начало списка

admin

Ошибка AWS Lambda: не удалось распаковать загруженный файл

admin

Найти группу журналов Cloudwatch для данного ресурса

admin

Пакет SDK для VSCode .NET Core не может быть найден

admin