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(®Emp[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?