Values & References17 / 18
Up next

Function pointers

#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int mul(int a, int b) {
    return a * b;
}

int apply(int (*op)(int, int), int a, int b) {
    return op(a, b);
}

int main(void) {
    printf("%d\n", apply(add, 2, 3));
    printf("%d\n", apply(mul, 2, 3));
    return 0;
}
What you're solving

select behavior at runtime