Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2009, 18:38
Avatar de andycpu
andycpu
 
Fecha de Ingreso: marzo-2004
Ubicación: Misiones - Argentina
Mensajes: 13
Antigüedad: 20 años, 2 meses
Puntos: 0
error liberando memoria en C

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..