#include <stdio.h>
#include <stdlib.h>
typedef struct estru
{
int numero;
struct estru *prox;
} lista;
void mostraLista(lista *p){
printf("\n");
while(p->prox != NULL){
printf("%d -> ", p->numero);
p = p->prox;
}
printf("%d -> fim da lista\n", p->numero);
}
int main(void) {
lista *p, *q, *prim;
int i, num, rem;
printf("Digite o tamanho da lista: ");
scanf("%d", &num);
printf("\n");
for(i=1; i<=num; i++){
p = (lista *) malloc(sizeof(lista));
p->numero = i;
if(i==1){
prim = p;
}else{
q->prox = p;
}
q = p;
printf("A infomacao armazenada e apontada pelo ponteiro e: %d\n", p->numero);
}
p->prox = NULL;
p = prim;
mostraLista(p);
free(prim);
return 0;
}