Oltre a confermarti il fatto che devi usare l'allocazione dinamica come ti hanno indicato, come mai nella struttura

typedef struct{ char nome[];
char cognome[]; }Giocatore;

non esiste alcuna dimensione per la stringa nome e per cognome?

Correggi e mostra il codice nuovo che hai modificato soprattutto se non funziona ancora.