Buongiorno a tutti.
Avrei bisogno del vostro aiuto per correggere alcuni messaggi di errore/warning su questo programmino (implementa il gioco forza 4 in linguaggio C).

Ecco i messaggi di errore (compilatore MinGW):

In function 'main':
9:5: warning : missing braces around initializer
9:5: warning : (near initialization for 'gameZone[0]')
42:83: error : expected ':' before ';' token"

codice:
int main()
{
    char gameZone[ MAXLINE ][ MAXCOLUMN ] = { 0 };  /* Questo è il campo di gioco */
    int line, column;  /* Variabili che mi servono per limitare la grandezza del campo di gioco */
    int limits;  /* Serve per limitare la scelta dell'utente. Su campi di gioco diversi la scelta può cambiare */
    int mode;  /* Serve per memorizzare la modalità di gioco */
    int turnMax;  /* Turni massimi possibili */
    int turn = 0;
    int victory;
    Player playerOne, playerTwo;    /* Dichiaro i due di giocatori con il tipo struct player */ 
    
    intro();
    clrscr();
    
    start();
    clrscr();
    
    gameMode( &mode );  /* Passo &mode perchè il parametro di questa funzione è un puntatore */
    clrscr();
    
    insertName( playerOne.name, playerTwo.name, mode );
    clrscr();
    
    chooseGameZone( &line, &column, &limits, &turnMax );
    clrscr();
    
    chooseSign( &playerOne, &playerTwo );
    createGameZone( gameZone, line, column );
    
    do
    {
        clrscr(); 
        printGameZone( gameZone, turn, line, column );
        /* Qui il giocatore sceglie la mossa che deve fare */
        turn % 2 == 0 ?
        printf( "\n\n\n\n\n%s", turn % 2 == 0 ? playerOne.name  : playerTwo.name );
        printf( ", fai la tua mossa" );
        while( choosePosition( mode, gameZone, &turn, limits, line, playerOne.sign, playerTwo.sign ) );  /* Finchè la mossa non è corretta non uscire dal ciclo */
    } while( !( victory = win( gameZone, turn, turnMax, line, column ) ) );  /* Il valore di victory mi serve per determinare il messaggio finale */
    clrscr();
    
    printf( "\t\t\t Situazione finale" );
    
    printGameZone( gameZone, turn, line, column );
    getch();  /* Stoppa il programma per vedere la situazione finale */
    clrscr();   
    
    end( playerOne.name, playerTwo.name, victory, turn );
    clrscr();
    getch();

    return 0;
}
"In function 'insertName':
112:10: warning: format '%s' expects type 'char*' but argument 2 has type 'char**'
117:10: warning: format '%s' expects type 'char*' but argument 2 has type 'char**'

codice:
/* Funzione insertName */
/* Due parametri ( due stringhe ) e nessun uscita */
/* Inserisce il nickname nella struttura Player */

void insertName( char *t, char *n )
{
     do {
         printf( "Inserisci il tuo nome [Player 1]" );
         scanf( "%s",&t );
         printf( "\t%s\n\n", t );
         gets( n );
         printf( "\n" );
         printf( "Inserisci il tuo nome [Player 2]" );
         scanf( "%s",&t );
         printf( "\t%s\n\n", t );
         if( strcmpi( n, "CPU" ) == 0 )
             printf( "Il nome %s non puo' essere usato! Usane un altro!\n\n", *n );
     } while( strcmpi( n, "CPU" ) == 0 );                 
}
Ho riportato solo le parti di codice interessate dai messaggi (in realta' non riesco ad individuare gli errori indicati!).

Spero che riusciate ad aiutarmi ad individuare e correggere gli errori.

grazie mille a tutti