Typedef (указатель на ф-ю) newtype, как сделать? - C (СИ)
Формулировка задачи:
пытался затайпдефить указатель но чего-то никак( просто указатель работает, а как пытаюсь прикрутить typedef - ошибки. может в си нельзя так?
Решение задачи: «Typedef (указатель на ф-ю) newtype, как сделать?»
textual
Листинг программы
typedef void (*foo)(void); /*.....*/ void spam(void); /*.....*/ foo bar = spam;
Объяснение кода листинга программы
В данном коде:
typedef void (*foo)(void);- определяется новый тип данныхfoo, который является указателем на функцию, возвращающую void и не принимающую аргументов.void spam(void);- объявляется функция с именемspam, которая не принимает аргументов и возвращает void.foo bar = spam;- создается переменнаяbarтипаfoo, которая указывает на функциюspam. Таким образом, в данном коде создается указатель на функциюspamи сохраняется в переменнойbar.