Объяснение Тима Рэндалла довольно хорошее, но позвольте мне добавить это.
Ключевое слово typedef
определяет новый тип данных, который можно использовать вместо его первоначальных определений. Если вы не хотите использовать typedef
, структура может быть определена как:
typedef struct somestruct{
void(*somefunc)(int a,int b);
}SOMESTRUCT;
В этом случае мы не много экономим, но если у нас было более одного указателя на функцию, использование typedef
немного экономит и облегчает чтение программы.