En general, la forma de declarar un puntero
a una función es:
![]() |
![]() |
donde:
<tipo> es el tipo que devuelve la función.
<lista_argumentos> es
la declaración de los parámetros que recibe la función.
![]() |
![]() |
Cuando
una declaración de función aparece dentro de otra, el nombre
de la función declarada convierte en un puntero a esa función.
Así si una función llamada func1
se
declara dentro de main( ),
entonces proceso se interpretará como una variable puntero dentro
de main( ). Tales
punteros pueden pasarse a otras funciones como argumentos. Esto tiene el
efecto de pasarle una función a otra, como si la primera función
fuera una variable. La primera función puede ser accedida dentro
de la segunda. Pueden hacerse llamadas sucesivas a la segunda función
pasándole diferentes punteros (diferentes funciones).
Ejemplo: El
poder de los punteros a funciones es que pueden variar sus resultados según
el curso de la ejecución de un programa, en el problema que se muestra
a continuación, según introduzcamos un carácter, u
otro, la función, que será la misma en ambos casos, escogerá
una opción u otra. (en los problemas resueltos mostramos un ejemplo
típico de los punteros a funciones, el de un menú de pantalla).