Código:
typedef struct empleados {
char apellidos[30];
char nombre[15];
int mes;
//char bufferRelleno[50000];
} tipoEmpleado;
ListaEnlazada RegistrosListaEnlazada(tipoEmpleado * empleados, int numEmpleados, int mesInf, int mesSup)
{
int i, temp;
tipoNodoRef indice, nuevo, aBorrar;
ListaEnlazada lst = NULL;
for(i=0;i<numEmpleados;i++){
if(empleados[i].mes > mesInf && empleados[i].mes < mesSup){
if((nuevo = (tipoNodoRef) malloc(sizeof(tipoNodo))) == NULL){
indice = lst;
while (indice != NULL){
aBorrar = indice;
indice = indice->sig;
free(aBorrar);
}
lst = NULL;
} else {
nuevo->info = empleados[i];
nuevo->sig = NULL;
indice = lst;
if(indice == NULL)
lst = nuevo;
else{
while(indice->sig != NULL)
indice = indice->sig;
indice->sig = nuevo;
}
}
}
}
return lst;
}
No da ningún error aparentemente, pero a la hora de imprimir los miembros de la lista enlazada tengo problemas. Hago lo siguiente, pero da error:
Código:
i=0;
indice = lst;
while(indice->sig != NULL){
i++;
printf("\nNODO <%d>\n",i);
printf("%c",(indice->info).apellidos);
printf("%c",(indice->info).nombre);
printf("%d",(indice->info).mes);
indice = indice->sig;
¿Alguien sabría como solucionarlo?