Título: Problemas con punteros en listas. Publicado por: samur88 en 4 Enero 2011, 03:00 am Saludos.
Tengo la siguiente duda: Tengo el siguiente codigo fuente de una lista circular: Código:
El caso es que dentro de add_nod la linea que esta comentada no me compila, pero me gustaría avanzar en uno el elemento nodoe para agregar elementos a partir del ultimo insertado en la lista circular, como puedo hacer eso y por que me da error al compilar, me he mirado el error y creo que es porque es un puntero de puntero, pero no se como solucionarlo. Un saludo y gracias a todos. Título: Re: Problemas con punteros en listas. Publicado por: Ferno en 4 Enero 2011, 04:42 am Tienes que usar paréntesis!!!
Código
Título: Re: Problemas con punteros en listas. Publicado por: samur88 en 4 Enero 2011, 13:23 pm Muchas gracias :)
Discúlpame ¿Podrías decirme o explicarme por que uso el paréntesis? es que no conocía esa nomenclatura al usar punteros. Un saludo y Feliz Año Nuevo. :) Título: Re: Problemas con punteros en listas. Publicado por: Ferno en 4 Enero 2011, 14:16 pm Bueno, es que al desreferenciar dicha variable sin paréntesis estás desreferenciando nodoe->next, y lo que tu quieres desreferenciar es solo nodoe, el cual es un puntero a puntero de struct. Tu quieres hacer: (**nodoe).next == (*nodoe)->next.
Si le quitas los paréntesis, es como hacer *(nodoe->next) lo cual es un error porque no existe ningún campo en la variable (*nodoe) ya que es sólo un puntero a struct (debes desreferenciar solamente nodoe nuevamente para acceder a la struct correspondiente y al campo next en ella). Espero que se haya entendido! Salú! Título: Re: Problemas con punteros en listas. Publicado por: samur88 en 7 Enero 2011, 16:13 pm Muchas gracias por contestar, y disculpa la tardanza estos día con las fiestas en la familia no he podido conectarme mucho, con desreferenciar quieres decir quitar el puntero a puntero, para acceder a el, no?
Si es así creo que lo he entendido todo, lo que no entiendo muy bien es el concepto de desreferenciar. Un saludo y gracias de nuevo :) Título: Re: Problemas con punteros en listas. Publicado por: Oblivi0n en 7 Enero 2011, 16:51 pm Cuando desreferencias (aplicando * antes de la variable) accedes a la direccion de memoria de dicha variable, al hacer (*nodoe)->next, accedes a la direccion de memoria de nodoe, si no utilizas parentesis accedecias a la direccion de memoria de nodoe->next
Creo que no me he equivocado :laugh: , espero que te sirva la explicacion Saludos! Título: Re: Problemas con punteros en listas. Publicado por: samur88 en 10 Enero 2011, 00:09 am Muchísimas gracias creo que ya entendí todo : )
|