Рассмотрим следующие typedefs:
typedef int (*f1)(float);
typedef f1 (*f2)(double);
typedef f2 (*f3)(int);
f2
- это функция, которая возвращает указатель на функцию. То же самое с f3
, но тип функции, указатель на который f3
возвращает, равен f2
. Как определить f3
без typedefs? Я знаю, что typedefs являются более понятным и понятным способом определения f3
. Однако мое намерение здесь состоит в том, чтобы лучше понять синтаксис Си.