Hola gente, estoy teniendo problemas para liberar punteros en C, por lo visto no estoy entendiendo bien como funciona la funcion "free", les agradeceria si me puedan explicar cual es mi error..
Muchisimas gracias de antemano..
Este es el codigo:
Código:
#include<stdio.h>
#include<stdlib.h>
int *reserv_mem(void);
int main()
{
int var = 9;
int *ptr = reserv_mem();
ptr = &var;
free(ptr); //ACA ME TIRA ERROR
return 0;
}
int *reserv_mem(void)
{
int *temp = NULL;
temp = (int *) malloc(sizeof(int));
return temp;
}
Nota: estoy utilizando gcc en linux..