#include
int sum(int x, int y)
{
return x + y;
}
int product(int x, int y)
{
return x * y;
}
int main()
{
int a = 13;
int b = 5;
int result = 0;
int (*pfun)(int, int);
pfun = sum;
result = pfun(a, b);
printf("\npfun = sum result = %d", result);
pfun = product;
result = pfun(a, b);
printf("\npfun = product result = %d", result);
}
Source: http://www.java2s.com/Code/C/Function/Pointingtofunctions.htm
This Blog is used to give useful Information related to Embedded Systems starting from C to Microcontrollers and communication protocols
Thursday, July 21, 2011
Pointer to functions Explained
A good explanation of Pointer to functions
Labels:
C
Subscribe to:
Post Comments (Atom)
1 comment:
More On this
Initialize the function pointer array
#include
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;
}
Source: http://www.java2s.com/Code/C/Function/Initializethefunctionpointerarray.htm
Post a Comment