Advertisement
franbricchi

Untitled

Sep 30th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.27 KB | None | 0 0
  1. /* ******************************************************************
  2.  *                DEFINICION DE LOS TIPOS DE DATOS
  3.  * *****************************************************************/
  4. //En cola.h
  5.  
  6. /* La cola está planteada como una cola de punteros genéricos. */
  7.  
  8. struct nodo;
  9. typedef struct nodo nodo_t;
  10.  
  11. struct cola;
  12. typedef struct cola cola_t;
  13.  
  14.  
  15. /* ****************************************************** */
  16.  
  17. //En cola.c
  18.  
  19. /* Definicion del struct */
  20.  
  21. struct nodo {
  22.     void* dato;
  23.     struct nodo* prox;
  24. };
  25.  
  26. struct cola {
  27.     struct nodo_t* prim;
  28.     struct nodo_t* ult;
  29. };
  30.  
  31. // Agrega un nuevo elemento a la cola. Devuelve falso en caso de error.
  32. // Pre: la cola fue creada.
  33. // Post: se agregó un nuevo elemento a la cola, valor se encuentra al final
  34. // de la cola.
  35. bool cola_encolar(cola_t *cola, void* valor){
  36.     nodo_t* nodo = malloc(sizeof(nodo_t));
  37.     if(nodo == NULL){
  38.         return false;
  39.     }
  40.     nodo->dato = malloc(sizeof(void*));
  41.     nodo->dato = valor;
  42.     if(cola->prim == NULL && cola->ult == NULL){
  43.         cola->prim = nodo;      //Aca da el error "assignment from incompatible pointer type"
  44.         cola->ult = cola->prim;
  45.     }
  46.     cola->ult->prox = nodo;     //Aca da el error "dereferencing pointer to incomplete type ‘struct nodo_t’"
  47.     cola->ult = nodo;
  48.     return true;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement