codice:
struct Cella* scacchiera=malloc(righe*colonne*sizeof(struct Cella));
Se ridefinisci la variabile nella funzione la variabile globale viene nascosta a favore di quella locale, quindi ti perdi il puntatore.
La variabile scacchiera globale rimane quindi uguale a 0