Tengo un pequeño problema en C que no sé como resolver.
Tengo implementación de una lista enlazada simple (en sus respectivos modulos) y con esa lista tengo que implementar una pila. La lista esta terminada y me funciona bien. El problema me viene a la hora de utilizar las funciones para la pila.
Por ahorrar código solo pondré lo mínimo, que es con lo no se hacer para que sea más legible.
lista.h //llamado m.h
Código:
#include <stdio.h> #include <stdlib.h> #include <malloc.h> struct Nodo { int dato; struct Nodo * siguiente; }; typedef struct Nodo * PNodo; void inicializarlista(PNodo *lista);
lista.c
Código:
#include "m.h" void inicializarlista(PNodo *lista) { *lista=NULL; }
pila.h
Código:
#include "m.h" struct Pila { PNodo * lista_pila; int contador; }; typedef struct Pila * PPila; void ini(PPila * pila);
pila.c
Código:
#include "pila.h" void ini(PPila * pila) { PNodo aux = pila->lista_pila; inicializarlista(aux); }
main.c
Código:
#include "pila.h" int main() { PPila lista; ini(&lista); return 0; }
El error me viene en el pila.c en la función de inicializar, ya que me dice que no puedo acceder a lista_pila porque pila no es una estructura o union