• Domingo 15 de Diciembre de 2024, 01:55

Autor Tema:  Re: Punteros a funciones  (Leído 1486 veces)

HoGiMa

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Punteros a funciones
« en: Jueves 23 de Enero de 2003, 18:45 »
0
Necesito info. sobre arrays de punteros y punteros a funciones sobre como se usan.
Eskerrik asko (gracias).:D

willesct

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Punteros a funciones
« Respuesta #1 en: Martes 4 de Febrero de 2003, 18:07 »
0
Lastimosamente no tengo un archivo con el tema, pero incluso en libros de Becerra hay ejemplos muy descriptivos del uso de arreglo de punteros y de su paso a funciones. Mira tambien el manual de referencia de Herbert Schildt.

gmantil

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: Punteros a funciones
« Respuesta #2 en: Martes 4 de Febrero de 2003, 20:13 »
0
Aquí podrá encontrar una explicación completa sobre los apuntadores a funciones y su implementación:

http://pjsml.50megs.com/pc/puntfunc.html

Suerte,

gmantil

daviiid

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Punteros a funciones
« Respuesta #3 en: Miércoles 5 de Febrero de 2003, 05:48 »
0
Hola.
No se si se refiere a un arreglo de apuntadores o simplemente a un apuntador, pero me imagino que sabe que un apuntador por ejemplo de tipo entero se define

int *apArreglo;

para inicializarlo y darle la suficiente memoria a cada uno se usa el operador new, y para liberarlo el operador delete

apArreglo = new int;
delete apArreglo;

listo, sencillo y me imagino que eso ya lo sabia.
Si es un arreglo es lo mismo:
int *apArreglo[10];
apArreglo = new int[10];
delete[] apArreglo;

puede asignar direcciones
int *ap, dato;
ap = &dato;
puede modificar el valor de dato por medio de ap
*ap = 68;

para pasarlo a una funcion es solo
void funcion(int *a)
{
...
}

y lo puede usar como un vector ordinario.

Tambien puede pasar una variable por direccion por medio de apuntadores

void nulo(int *dir)
{
*dir = 0;
}

void main()
{
int a=68;
printf("a vale %dn", a);
nulo(&a);   //pasa la direccion y no el valor
printf("a vale %dn", a);
}


Es muy similar a las formas de direccionamiento de registros.

Espero le sirva de algo.