Using array of pointers to functions in one statement : Function Pointer « Function « C Tutorial

Home
C Tutorial
1.Language
2.Data Type
3.String
4.printf scanf
5.Operator
6.Statement
7.Array
8.Function
9.Structure
10.Pointer
11.Memory
12.Preprocessor
13.File
14.Data Structure
15.Search Sort
16.Wide Character String
17.assert.h
18.ctype.h
19.math.h
20.setjmp.h
21.signal.h
22.stdio.h
23.stdlib.h
24.string.h
25.time.h
26.wctype.h
C / ANSI-C
C++
C++ Tutorial
Visual C++ .NET
C Tutorial » Function » Function Pointer 
8.6.3.Using array of pointers to functions in one statement
#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;

  /* Call all three functions through pointers in an expression */
  result = pfun[1](pfun[0](a, b), pfun[2](a, b));
  printf("\n\nThe product of the sum and the difference = %d\n",
                                                           result);

  return 0;
}
The product of the sum and the difference = 75
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
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.