#include <stdio.h>
#include <stdlib.h> /* Necessrio para a utilizao da funo malloc() */
typedef struct estru
{
int numero;
struct estru *prox;
} lista;
lista *p, *q, *ini;
main()
{
for(int i = 1; i <= 10; i++)
{
p = (lista *) malloc(sizeof(lista)); // Aloca o espao de memria
if(ini == NULL)
{
ini = p; // Inicio da lista
}
else
{
q->prox = p; // Armazena o endereço do inicio da lista
}
p->numero = i; // Armazena o Valor i dentro da estrutura
p->prox = ini; // Aponta para o primero n
q = p;
printf("A informacao armazenada e apontada pelo ponteiro e: %d\n", p->numero);
}
// Exibir a lista a partir do primeiro elemento
p = ini;
printf("\n");
while (p->prox != ini)
{
printf(" %d ->", p->numero);
p = p->prox;
}
printf(" %d -> (Voltou para o inicio)\n\n", p->numero);
}