Это указатель на функцию: в основном вы вызываете абстрактную функцию, которую можно установить где-то еще.
У вас должна быть реальная функция где-то вроде:
XAN_BOOL realFunction(variabl3* pxData) { return (pxData==0); }
Затем вы можете сделать: f1->fr = realFunction
: указатель вашей функции указывает на реальную функцию.Затем, когда вы вызываете f1-> fr после, он вызывает realFunction.
Это широко используется во многих шаблонах проектирования: когда вы хотите зарегистрировать обратные вызовы, в слушателях / триггерах, когда вы хотите реализоватьобъектно-ориентированный дизайн в чистом C, когда вы хотите использовать UI (вы привязываете поведение к кнопке, например, в GTK).
Надеюсь, это поможет, если что-то неясно, спросите в комментарии, и я 'буду редактировать.