typedef struct{
int Chave;
}TipoItem;
typedef struct TipoCelula *TipoApontador;// Maior dúvida
typedef struct TipoCelula{
TipoItem Item;
TipoApontador Prox;
}TipoCelula;
typedef struct TipoLista{
TipoApontador Primeiro, Ultimo;
}TipoLista;
I could not understand mainly the commented line, because from what I understood it defined a pointer that points to a struct Type Cell that had not even been created!