Apuntadores

Páginas: 3 (617 palabras) Publicado: 21 de octubre de 2010
El siguiente parametro aparece en el encabezado de la funcion de bubble:

Int ( *compare ) ( int, int)

Esto le dice a bubble que espere un parametro que es un apuntador a una funcion querecibe dos parametros enteros y devuelve un resulatado entero. Se necesitan paréntesis alrededor de *compare debido a que * tiene menor precedencia que el paréntesis que encierra los parámetros de lafuncion. Si no se hubieran incluido los paréntesis, la declaración habria sido
Int *compare ( int, int)
Que declara una funcion que recibe dos enteros como parametros y le devuelve un apuntador a unentero. El parámetro correspondiente del prototipo de funcion de bubble es:

Int ( * ) ( int, int )

Observe que solo se han incluido los tipos pero con fines de documentacion, el programadorpuede incluir nombres que ignorara el compilador.

La funcion que se le pasa a bubble es llamada en una instrucción if como sigue

If (( *compare) (work[count], work[count+1] ) )

Asi como sedesreferencia un apuntador a una variable para acceder al valor de esta, se desreferencian los apuntadores a funciones para ejecutar dichas funciones. La llamada a la funcion podria haberse hecho sindesreferenciar al apuntador, como en:

If (*compare(work[count], work [count+1] ) )

Que utiliza el apuntador directamente como nombre de funcion. Preferimos el primer metodo donde la llamada auna funcion es a traves de un apuntador, pues explícitamente ilustra que compare es un apuntador a una funcion que se desreferencia para llamar la funcion. El segundo metodo para llamar a la funcion atravez de un apuntador da la apariencia de que compare de hecho es una funcion. Esto puede confundir a algun usuario del programa que quisiera ver la definición de la funcion compare y descubrieraque no se defi nkio en ninguna parte del archivo.
Uno de los usos de los apuntadores a funciones es en los sistemas operados por menus. Al usuario se le solicita desde un menu que de una opcion (por...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Apunte
  • Apuntes
  • apuntes
  • apuntes
  • apuntes
  • apuntes
  • Apunte
  • apuntes

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS