Mega Code Archive

 
Categories / C / Function
 

Initialize the function pointer array

#include <stdio.h> int sum(int a, int b); int subtract(int a, int b); int mul(int a, int b); int div(int a, int b); /* initialize the pointer array */ int (*p[4]) (int x, int y) = {   sum, subtract, mul, div } ; int main(void) {   int result;   int i = 2, j = 2, op;      printf("0: Add, 1: Subtract, 2: Multiply, 3: Divide\n");   do {     printf("Enter number of operation: ");     scanf("%d", &op);   } while(op<0 || op>3);   result = (*p[op]) (i, j);   printf("%d", result);   return 0; } int sum(int a, int b) {   return a + b; } int subtract(int a, int b) {   return a - b; } int mul(int a, int b) {   return a * b; } int div(int a, int b) {   if(b)        return a / b;   else        return 0; }