#include void add_001(int *summand1, int *summand2, int *sum) { *sum = *summand1 + *summand2; } void add_010(int *summand1, int *summand2, int *sum) { *summand2 = *sum - *summand1; } void add_100(int *summand1, int *summand2, int *sum) { *summand1 = *sum - *summand2; } void (*add_modes[2][2][2])(int *summand1, int *summand2, int *sum) = { NULL, add_001, add_010, NULL, add_100, NULL, NULL, NULL }; int main(int argc, char **argv) { int a=1, b=2, c; //(*add_modes[0][0][1])(&a, &b, &c); printf("%d", c); }