// Struct With Parameters in the Function Pointer
#include <stdio.h>
struct MathOps {
int (*operation)(int, int);
};
int add(int a, int b) { return a + b; }
int mul(int a, int b) { return a * b; }
int main() {
struct MathOps m;
m.operation = add;
printf("Add: %d\n", m.operation(3, 4));
m.operation = mul;
printf("Mul: %d\n", m.operation(3, 4));
return 0;
}
/*
run:
Add: 7
Mul: 12
*/