Я объявил typedef void (*DoRunTimeChecks)();
typedef void (*DoRunTimeChecks)();
Как мне сохранить это как поле в структуре? Как мне назначить это? Как мне вызвать fn ()?
Просто вставьте его, как в любое другое поле:
struct example { int x; DoRunTimeChecks y; }; void Function(void) { } struct example anExample = { 12, Function };
Для присвоения полю:
anExample.y = Function;
Для вызова функции:
anExample.y();
#include <stdio.h> typedef void (*DoRunTimeChecks)(); struct func_struct { DoRunTimeChecks func; }; void function() { puts("hello"); } int main() { struct func_struct func_struct; func_struct.func = function; func_struct.func(); return 0; }