Tengo una duda de como estoy entendiendo el tema de estructuras de datos con punteros. He estado buscando por el foro y no encuentro un problema similar que me aclare lo que hago mal.
Tengo estas estructuras:
Código:
// Libro
typedef struct {
char* titulo;
char* autor;
} tLibro;
// Nodo de una cola
typedef struct _tColaNode {
tLibro l;
struct _tColaNode* siguiente;
} tColaNode;
// Cola
typedef struct {
tColaNode* primero;
tColaNode* ultimo;
} tCola;
Entonces lo que estoy intentando es añadir varios elementos a la cola. Más allá del código quiero entender como lo hago porque me parece que lo estoy interpretando mal.
Lo primero que hago es comprobar si la cola está vacía y declaro un tLibro que quiero añadir y lo copio en tCola->tColaNode.primero
Después lo apunto al puntero ultimo para que sea tb el último ya que hay uno solo. Hasta aquí todo bien.
El tema es cuando añado el segundo, ahora mismo lo que hago es hacerlo a tCola->tColaNode.ultimo->siguiente que se supone que es el siguiente valor, no?
Pues aquí es donde creo que estoy interpretando mal la estructura y por lo tanto copiando donde no es.
Si me he explicado bien, alguien sabe donde me confundo?