puntero a funcion

Iniciado por kondrag_X1, 30 Abril 2011, 15:55 PM

0 Miembros y 1 Visitante están viendo este tema.

kondrag_X1

buenas hacia tiempo que no escribia aunque siempre andaba por aqui de post en post
el otro dia repasando un poco de c vi el tema este de puntero a funcion pero no recuerdo cual era el uso que le podia dar a esto. Si alguno sabe se lo agradeceria

//aqui esta el puntero a funcion
int (*punt) (int,int);

  int suma(int a , int b){
     return a+b;
  }

  int resta(int a , int b){
     return a-b;
  }

  *punt=suma;
   punt(2,3);

  *punt=resta;
   punt(5,1);

Akai

Cual es el uso que se le puede dar? Infinitos

Tu código de ejemplo ya ha puesto uno de ellos, el usar una u otra función sin tener que llamarlas de una forma directa (nombre).

Imagina que creas una función que ordena estructuras, y te han de pasar la función que ordena dicha estructura. Ahí tienes otro uso

Es como preguntar qué uso se le puede dar a una función, a la suma, a una cadena de carácteres... Tu verás.

leogtz

Otro uso está en la función de ordenación qsort() definida en stdlib.h.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com