Bom esse é um código de lista encadeada, e eu não estou conseguindo entender NADA!!!
Alguem ajuda por favor!!
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include <stdlib.h>
typedef struct le
{
char nome[50];
struct le *pont;
} defLista;
defLista *Primeiro;
int insere(char stringnome[50])
{
defLista *Aux;
Aux=(defLista *)malloc(sizeof(defLista));
strcpy(Aux->nome,stringnome);
Aux->pont = NULL;
if (Primeiro != NULL)
{
Aux->pont = Primeiro;
Primeiro=Aux;
}
if (Primeiro == NULL)
{
Primeiro=Aux;
}
return(1);
}
void imprime()
{
defLista *imp;
imp=Primeiro;
printf("\nListagem ");
printf("\nPonteiro que puxa a lista escadeada %d",imp);
while (imp!=NULL)
{
printf("\n %s",imp->nome);
imp=imp->pont;
}
}
main()
{
int opcao=0;
int contador=0; char string[50];
char buscado[50];
while (opcao < 4)
{
printf("\n");
printf("\n");
printf("\nLista Ordenada - Oque vocˆ quer fazer?:\n");
printf("\n1 - Inserir um novo elemento");
printf("\n2 - Exibir os elementos");
printf("\n3 - Buscar um elemento");
printf("\n4 - Sair do programa");
printf("\n-->: ");
scanf("%d",&opcao);
if (opcao == 1)
{
printf("\nNome a ser inserido:");
scanf("%s", string);
insere(string);
contador++;
}
if (opcao == 2)
{
if ( contador > 0 )
{
imprime();
printf("\nTamanho da lista:%d elemento(s)",contador);
}
else printf("\nLista vazia");
}
if (opcao == 3)
{
if ( contador > 0 )
{
printf("\nNome a ser buscado:");
scanf("%s", buscado);
}
else printf("\nLista vazia");
}
}
}