1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36  | #include <stddef.h>
#include <stdio.h>
void
dummy(void f(void))
{
    f();
}
// ------------------------
void
foo(void)
{
    printf("I am foo\n");
}
void
bar(void)
{
    printf("I am bar\n");
}
int
main(void)
{
    void (*f[])(void) = {
        foo,
        bar,
    };
    for (size_t i = 0; i < sizeof(f) / sizeof(f[0]); ++i) {
        printf("calling f[%zu]: ", i);
        dummy(f[i]);
    }
}
 |