Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2015, 11:20
albondi
 
Fecha de Ingreso: mayo-2015
Mensajes: 19
Antigüedad: 9 años, 6 meses
Puntos: 0
Exclamación Liberar array reservado con malloc

Hola a todos, tengo un programa que crea un vector de registros:

Código:
typedef struct fecha {
    int dia;
    int mes;
    int anio;
} tipoFecha;

typedef struct empleados {
    char nombre[15];
    tipoFecha fechaNacimiento;
} tipoEmpleado;
Creo el vector pidiendo al usuario cuantos registros de empleados quiere crear (numEmpleados) y reservo la memoria:

Código:
    tipoEmpleado *registros;
//Pido numEmpleados
    registros = (tipoEmpleado *)malloc(numRegistros*sizeof(tipoEmpleado));
El problema lo tengo al pasar los registros a una función para operar con ellos, y luego deseo liberarlos dentro de esa función:
Código:
//llamada a función:
funcion(registros, numRegistros);
Código:
funcion(tipoEmpleado *regEmp, int nEmpleados,) {

...

//Libero array
    for (i=0; i<nEmpleados; i++) {
        free(&regEmp[i]);
    }
    free(regEmp);
    regEmp = NULL;

}
Pero me da un error, y haciendo solo free(regEmp) no se libera...
Como debo liberar correctamente el array de registros?