C/Visual C - DESESPERACION CON LISTAS

 
Vista:

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DESESPERACION CON LISTAS

Publicado por Zemi (8 intervenciones) el 13/08/2004 18:16:58
Pones el elemento de la lista que creas a NULL?? y el primer elemento de la lista, pones el puntero al siguiente elemento a NULL? lo digo porque son fallos basicos con el tema de punteros el crear un nuevo elemento del puntero sin poner el siguiente a NULL (me a pasado XDdddd) ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:DESESPERACION CON LISTAS

Publicado por zz (318 intervenciones) el 15/08/2004 01:47:42
En el programa principal tienes la variable global para el inicio de la lista, porque sino lo que pasa es que la lista solo esta disponible mientras usas la funciòn. Si quieres que siempre la puedas ver y recorrer lo que yo hacia era declarar el inicio de la lista como variable global.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar