f1 es una función sin parámetros que regresa un apuntador a un entero
int (*f1)()
f1 es un apuntador a una función sin parámetros que regresa
un entero
Nombres funciones y
apuntadores a funciones
main()
{
int (*p)();
int i;
p = f; /* parasitaje: p apunta hacia f */
p = f(); /* INVALIDO */
i = p(); /* aplicando operador llamada() a p */
i = f(); /* aplicando opreador llamada() a f */
i = (*p)(); /* equivalente a i=f() */
i
}
Ejemplo de uso: arreglo funciones
/* Programa de arreglo de funciones, que puede reemplazar una estructura switch */
#include <math.h>
main()
{
static double (*action[3])(double) = ffabs, sqrt, expg;
int i;
double x,y;
x=1.0;
printf(''De un numero (0-2): '');
scanf(''%d'',&i);
y = (*action[i])(x);
printf(''nn encontramos: %lf nn'',y);
}
Nota:
El arreglo action es un arreglo de tres
apuntadores a funciones doubles, que regresan un double y esta inicializado
en fabs, sqrt y exp.
|
|
|