Arrays of Pointers to functions : Function Pointer « Function « C Tutorial






#include <stdio.h>

int sum(int x, int y){
  return x + y;
}

int product(int x, int y){
  return x * y;
}

int difference(int x, int y){
  return x - y;
}

int main(void){
  int a = 10;
  int b = 5;
  int result = 0;
  int (*pfun[3])(int, int);           /* Function pointer array declaration */

  /* Initialize pointers */
  pfun[0] = sum;
  pfun[1] = product;
  pfun[2] = difference;

  int i;
  for(i = 0 ; i < 3 ; i++)
  {
    result = pfun[i](a, b);           /* Call the function through a pointer */
    printf("\nresult = %d", result);  /* Display the result                  */
  }

  return 0;
}
result = 15
     result = 50
     result = 5








8.6.Function Pointer
8.6.1.Pointing to functions
8.6.2.Arrays of Pointers to functions
8.6.3.Using array of pointers to functions in one statement
8.6.4.Passing a pointer of a function to another function