I can not use free()
in " struct Lista *proximo
". Here is my code:
#include "stdafx.h"
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
struct Lista {
int num;
struct Lista *proximo;
}celula;
int main()
{
setlocale(LC_ALL, "Portuguese");
//Criar uma função para a inserção de dados na lista
struct Lista *inicio;
struct Lista *proximo_item;
short int resp = 1;
short int cont = 1;
inicio = (struct Lista *)malloc(sizeof(struct Lista));
if (inicio == NULL) {
exit(1);
}
proximo_item = inicio;
do {
printf("Inf. um numero para a lista: ");
scanf_s("%d", &proximo_item->num);
printf("Deseja continuar? 1 = Sim | != Nao\n");
scanf_s("%hi", &resp);
system("cls");
if (resp == 1) {
proximo_item->proximo = (struct Lista *)malloc(sizeof(struct Lista));
proximo_item = proximo_item->proximo;
}
} while (resp == 1);
proximo_item->proximo = NULL;
proximo_item = inicio;
while (proximo_item != NULL){
printf("%dº item da lista: %d\n", cont, proximo_item->num);
proximo_item = proximo_item->proximo;
cont++;
}
free(proximo);
free(inicio);
free(proximo_item);
_getch();
return 0;
}