Cosa intendi fare con questa riga

codice:
typedef a[nR][nC];
? La typedef (come suggerisce il nome) serve a definire un tipo di dato, non una variabile. È da lì che si origina il problema. Sostituisci con int a[nR][nC]; e non avrai problemi.

Per il resto va più o meno bene, solo che hai distribuito male le & :D

codice:
    printf("numero desiderato righe = ");
    scanf("%d", &nRi);
    printf("numero desiderato colonne = ");
    scanf("%d", &nCi);
    
    for(i=0;i<nRi;i++){
       for(j=0;j<nCi;j++){
          printf("a[%d,%d] = ", i,j);
          scanf("%d", &a[i][j]);
          }
       }
    
    for(i=0;i<nRi;i++){
       for(j=0;j<nCi;j++){
           printf("%10d", a[i][j]);
           printf("\n");
           }
       }