Lista encadeada
Fala pessoal, blz?
Então eu to com uma dúvida aqui, e o que não estou conseguindo entender são essas listas encadeadas.
Logo abaixo tenho um código( não funciona) que o professor passou como exemplo.
Entendi que até a parte que na linha struct registro *prox é um ponteiro referenciando um endereço, depois disso me perdi.
VLW pessoal.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct registro{
char dado;
struct registro *prox;
}tpLista;
tpLista *inicio = NULL;
void insere(tpLista *noAtual, char x){
tpLista *novoNo;
novoNo = (tpLista *) malloc (sizeof(tpLista));
novoNo -> dado = x;
if(noAtual == NULL){
inicio = novoNo;
inicio -> prox = NULL;
}
else{
while(noAtual -> prox != NULL){
noAtual = noAtual -> prox;
novoNo -> prox = NULL;
noAtual -> prox = novoNo;
}
}
}
void mostra(tpLista *noAtual){
printf("Valores da lista = ");
while(noAtual != NULL)
printf("%c ", noAtual -> dado);
noAtual = noAtual -> prox;
}
int main(){
insere(inicio, 'a');
insere(inicio, 'b');
insere(inicio, 'c');
insere(inicio, 'd');
mostra(inicio);
system("pause");
}Discussão (1)
Carregando comentários...