• Jueves 2 de Mayo de 2024, 02:06

Autor Tema:  Duda Con Punteros  (Leído 1615 veces)

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Duda Con Punteros
« en: Viernes 6 de Enero de 2006, 04:39 »
0
parece una pavada pero estoy implementando una lista generica para una cosa que estoy haciendo y no logro hacer que el contenido de raiz se mantenga modificado al salir del metodo

ej

Código: Text
  1.  
  2. struct nodo
  3. {
  4.     void * data;
  5.     struct nodo * next;
  6. };
  7.  
  8. typedef struct nodo Nodo;
  9.  
  10. void insertar( Nodo * raiz , void * data )
  11. {
  12.          // todo el metodo
  13. }
  14.  
  15.  

el problema es que al salir raiz no toma el valor que le di adentro
probe metodos con punteros a int y si los modifica, no se porque sera porque antes ya lo habia hecho ( no me acuerdo como  :D  ).

el compilador es gcc

rir3760

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Duda Con Punteros
« Respuesta #1 en: Viernes 6 de Enero de 2006, 12:08 »
0
Cita de: "bob esponja"
el problema es que al salir raiz no toma el valor que le di adentro
probe metodos con punteros a int y si los modifica, no se porque sera porque antes ya lo habia hecho ( no me acuerdo como  :D  ).
Si te entiendo correctamente estas tratando de modificar el puntero al primer elemento (la variable 'raiz') de una lista dentro de tu funcion.

Si ese es el caso tienes dos opciones:

1) Pasar la direccion en memoria de 'raiz', esto es, cambiar el tipo del parametro a 'Nodo **raiz' y realizar indireccion dentro de tu funcion ya que si no lo haces estarias modificando la variable local.

2) Modificar tu funcion para que devuelva un valor de tipo 'Nodo *' (que seria el nuevo valor de 'raiz') y asignar este a la variable 'raiz'.

Un saludo
The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Duda Con Punteros
« Respuesta #2 en: Viernes 6 de Enero de 2006, 12:41 »
0
gracias

voy a hacer eso, yo hice lo segundo pero me interesa lo primero...