DESESPERACION CON LISTAS
Publicado por Lía (1 intervención) el 13/08/2004 18:09:21
Hola,
No tengo mucha experiencia con C, así que supongo que el fallo que estoy cometiendo es básico.
El problema es que estoy haciendo un pequeño compilador con bison y al llamar a una función que inserta un nodo de la lista en la lista, esta no es capaz de enlazarmelo. De hecho, enlaza el nodo en la función, pero al volver a la ejecución principal, la lista apunta de nuevo a NULL. Esto sólo ocurre con el primer nodo, porque los demás si quedan enganchados. (Lo comprobé enlazando el primer nodo directamente en la ejecución principal y los demás mediante la función que tenía ya hecha).
Algo por el estilo me pasa cuando busco un nodo en concreto. Recorro la lista con la condición de parada de que el nodo siguiente al que apunto sea NULL, pero , a pesar de que en el procedimiento en el que creo el nodo inicializo el campo del nodo siguiente a NULL, cuando invoco a la función que recorre la lista, obtengo un bucle infinito porque el campo correspondiente al nodo siguiente NO ESTÁ A NULL.
Sé que son dudas largas y estúpidas, pero necesitaba respuestas. Gracias.
No tengo mucha experiencia con C, así que supongo que el fallo que estoy cometiendo es básico.
El problema es que estoy haciendo un pequeño compilador con bison y al llamar a una función que inserta un nodo de la lista en la lista, esta no es capaz de enlazarmelo. De hecho, enlaza el nodo en la función, pero al volver a la ejecución principal, la lista apunta de nuevo a NULL. Esto sólo ocurre con el primer nodo, porque los demás si quedan enganchados. (Lo comprobé enlazando el primer nodo directamente en la ejecución principal y los demás mediante la función que tenía ya hecha).
Algo por el estilo me pasa cuando busco un nodo en concreto. Recorro la lista con la condición de parada de que el nodo siguiente al que apunto sea NULL, pero , a pesar de que en el procedimiento en el que creo el nodo inicializo el campo del nodo siguiente a NULL, cuando invoco a la función que recorre la lista, obtengo un bucle infinito porque el campo correspondiente al nodo siguiente NO ESTÁ A NULL.
Sé que son dudas largas y estúpidas, pero necesitaba respuestas. Gracias.
Valora esta pregunta


0