Se me olvido que la variable es un
array de estructuras
Aqui tienes para pasar solo un elemento o todo el array:
Código C:
Ver originalint main(int argc, char *argv[])
{
int i;
TAgente agente[10];
memset (agente
, 0, sizeof(agente
));
Agencia (&agente[0]);
Agencia (&agente[5]);
for (i=0; i<10; i++)
fprintf (stderr
, "Nombre Agente[%d]: [%s]\n", i
, agente
[i
].
nombre);
memset (agente
, 0, sizeof(agente
));
Agencia2 (agente);
for (i=0; i<10; i++)
fprintf (stderr
, "Nombre Agente2[%d]: [%s]\n", i
, agente
[i
].
nombre);
return 0;
}
void Agencia (TAgente *agente)
{
strcpy (agente
->nombre
, "prueba"); }
void Agencia2 (TAgente *agente)
{
int i;
for (i=0;i<10;i++)
sprintf ((&agente
[i
])->nombre
, "prueba2_%d", i
); }
Y queda de salida:
Nombre Agente[0]: [prueba]
Nombre Agente[1]: []
Nombre Agente[2]: []
Nombre Agente[3]: []
Nombre Agente[4]: []
Nombre Agente[5]: [prueba]
Nombre Agente[6]: []
Nombre Agente[7]: []
Nombre Agente[8]: []
Nombre Agente[9]: []
Nombre Agente2[0]: [prueba2_0]
Nombre Agente2[1]: [prueba2_1]
Nombre Agente2[2]: [prueba2_2]
Nombre Agente2[3]: [prueba2_3]
Nombre Agente2[4]: [prueba2_4]
Nombre Agente2[5]: [prueba2_5]
Nombre Agente2[6]: [prueba2_6]
Nombre Agente2[7]: [prueba2_7]
Nombre Agente2[8]: [prueba2_8]
Nombre Agente2[9]: [prueba2_9]