Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2012, 01:58
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Función y devolver puntero

Buenas, ya siento que abuso un poco del foro, hago preguntas a las tantas. La cosa es, tengo una función, un ejemplo hipotético y no real a lo que quiero hacer aquí:

Código C:
Ver original
  1. int main (void)
  2. {
  3.     char *nombre = char *depends = depends_parser();
  4. }
  5.  
  6. char *mi_nombre()
  7. {
  8.     char *nombre;
  9.     nombre = malloc(sizeof(char)*strlen("Beto")+1);
  10.     if (nombre == NULL)
  11.     {
  12.         exit(EXIT_FAILURE);
  13.     }
  14.    
  15.     sprintf(nombre, "Beto");
  16.  
  17.     return nombre;
  18. }

Todo perfecto, el problema es que la función esta retornando un puntero, si lo dejo así funcionara perfecto, pero no estoy haciéndole free() a nombre, entonces queda el espacio sin liberarse. ¿En este caso, como haría?

Saludos y gracias de ante mano.

Última edición por guzzano; 18/12/2012 a las 02:09