Passing a Pointer to a function : Function Pointer « Function « C / ANSI-C






Passing a Pointer to a function

#include <stdio.h>

int sum(int,int);
int product(int,int);
int difference(int,int);
int any_function(int(*pfun)(int, int), int x, int y);

int main()
{
   int a = 13;
   int b = 51;
   int result = 0;
   int (*pf)(int, int) = sum;

   result = any_function(pf, a, b);

   printf("\nresult = %d", result );

   result = any_function(product,a, b);

   printf("\nresult = %d", result );

   printf("\nresult = %d\n", any_function(difference, a, b));
}

int any_function(int(*pfun)(int, int), int x, int y){
   return pfun(x, y);
}

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;
}


           
       








Related examples in the same category

1.Implementing arithmetic and array functionsImplementing arithmetic and array functions
2.Pointing to functionsPointing to functions
3.Arrays of Pointers to functionsArrays of Pointers to functions
4.Function pointerFunction pointer
5.Function pointer 2
6.Function pointer: function call
7.Function pointer and use it call a function
8.Array of function pointerArray of function pointer
9.Initialize the function pointer array