
gnu_reis
(usa Slackware)
Enviado em 08/04/2015 - 17:27h
Saudações!
Sua dúvida carece de esclarecimentos, mas pelo que pude analisar nos fragmentos de seu código, há alguns problemas, seguem os principais:
1 - não tem uma parte do código que inicia o ponteiro
p da função
main;
2 - no if da função
Inserir há uma incoerência, pois se o ponteiro
P for igual a
NULL não é possível acessar o ponteiro
P->Proximo, nesse caso, acredito que você inverteu a lógica;
3 - Na função
Inserir o ponteiro
Registro *P, que é declarado no parâmetro, passa a apontar para outro endereço no meio do código, assim quando a função é finalizada, os valores do novo ponteiro é perdido. Para contornar esse problema, você precisa de um ponteiro para outro ponteiro
(**), o que não é o último recurso para esse tipo de código.
Espero ter sido claro, mas se tiver mais dúvidas pode mandar.
Procure alguns tutoriais sobre o assunto.
Abs