prueba asi
Código PHP:
main()
{
struct trabajador fijo[20];
int i;
for(i=0;i<20;i++){
printf("Nombre: ");
scanf("%s",fijo[i].nombre);
printf("\nApellidos: ");
scanf("%s",fijo[i].apellidos);
printf("\nEdad: ");
scanf("%d",&fijo[i].edad);
printf("\nPuesto: ");
scanf("%s",fijo[i].puesto);
visualizar(&fijo);
}
}
void visualizar(struct trabajador *datos)
{
int i;
for(i=0;i<20;i++){
printf("Nombre: %s",datos[i]->nombre);
printf("\nApellidos: %s",datos[i]->apellidos);
printf("\nEdad: %d",datos[i]->edad);
printf("\nPuesto: %s",datos[i]->puesto);
}
}
eso te graba 20 empleados y visuualiza los 20, si quieres limitarlo, cambia el 20 de los for por una variable que preguntes aparte (que no debera pasar de 20 o del numero que tengas cuando hayas declarado la estructura)
saludos