sto cercando di creare una funzione per caricare un array di struct di tipo giocatore, ma inseriti i nomi e i cognomi la funzione mi prende come valido solo l'ultimo inserimento, cioè se ad esempio inserisco aa bb cc dd mi stampa 4 volte dd, non capisco dove sbaglio.codice:#include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> typedef struct{ char nome[]; char cognome[]; }Giocatore; void caricagiocatori(Giocatore * giocatori,int dim); void stampagiocatori(Giocatore giocatori[],int dim); int main(){ int dim; printf("inserisci numero giocatori\n"); scanf("%d", &dim); Giocatore giocatori[dim]; caricagiocatori(giocatori,dim); stampagiocatori(giocatori,dim); system("PAUSE"); return 0; } void caricagiocatori( Giocatore * giocatori,int dim){ int i; /*char nom[13]; qui avevo provato con la funzione strncpy con scarsi risultati char cogn[14]; */ for (i=0;i<dim;i++){ printf("inserisci nome giocatore\n"); scanf("%s",giocatori[i].nome); printf("inserisci cognome giocatore\n"); scanf("%s",giocatori[i].cognome); } } void stampagiocatori(Giocatore giocatori[],int dim){ int i; for (i=0;i<dim;i++){ printf("%s %s\n", giocatori[i].nome, giocatori[i].cognome); } }