Вы можете заранее объявить структуру:
/* Tell the compiler that there will be a struct called _sStruct */
struct _sStruct;
/* Use the full name "struct _sStruct" instead of the typedef'ed name
"sStruct", since the typedef hasn't occurred yet */
typedef void (callback)(int *p1, struct _sStruct *p2);
/* Now actually define and typedef the structure */
typedef struct _sStruct
{
callback *funct;
} sStruct;
Редактировать: Обновлено, чтобы соответствовать изменению вопроса типа имен.
Кроме того, я настоятельно рекомендую не указывать структуре идентификатор _sStruct
. Глобальные имена, начинающиеся с _
, являются зарезервированными, и использование их для собственных идентификаторов может привести к неопределенному поведению.