/* --------------------------------------------------------------------- ** Figure 20.4: Using function pointers. ** --------------------------------------------------------------------- */ #include "tools.h" /* contains definition of type string */ #define CHOICES 7 typedef double (*dubl_2dubl)( double, double ); typedef double (*funcptr)( double ); double log_2(double x) { return log(x)/log(2); } void main( void ) { dubl_2dubl fp = pow; funcptr gp = exp; printf( " 3^5 = %g\n", fp( 3.0, 5 ) ); printf( " e^5 = %g\n", gp (5 ) ); }