#include <stdio.h>

typedef int Fun(int, int);
typedef Fun *pFun ;

#define function(pm, x, y) pm(x, y) ;
Fun add, sub, mul, div ; // 함수선언과 동일.

void main()
{
        int a =100, b = 20, c ;
        pFun fun[4] = { add, sub, mul, div } ;

        c = function(mul, a, b);        printf("[ %d * %d = %d]\n, a, b, c);
        c = function(fun[0], a, b);     printf("
[ %d + %d = %d]\n, a, b, c);
}

int add(int x, int y) { return(x+y) ; }
int sub(int x, int y) { return(x-y) ; }
int mul(int x, int y) { return(x*y) ; }
int div(int x, int y) { return(x/y) ; }