Pessoal, boa tarde!
Estou analisando o código do Ziviani de lista encadeada. Alguém sabe me explicar o porque da necessidade de se usar o TipoCelula no início da estrutura e no final? Pergunto pois, se eu tiro do início ele da o erro "error: conflicting declaration 'typedef struct TipoCelula TipoCelula" e se eu tiro do final ele funciona perfeitamente. Ainda não conseguir pegar a ideia.
Alguém poderia me auxiliar? typedef struct {
int Chave; /* outros componentes */
} TipoItem; typedef struct TipoCelula *TipoApontador; typedef struct TipoCelula {
TipoItem Item;
TipoApontador Prox;
} TipoCelula; typedef struct {
TipoApontador Primeiro, Ultimo;
} TipoLista;