ciao.
contando che il C gli array bidimensionali li salva in memoria come fossero un array monodimensionale (ovvero ogni riga è consecutiva alla precedente) puoi semplicemente sfruttare l'aritmetica dei puntatori sommando ogni volta l'elemento successivo. Nella chiamata: risultato = somma(x); cambia la riga così: risultato = somma(&x[0][0]); in modo tale da passargli l'indirizzo del primo elemento della prima riga dell'array. Ora la funzione sarà così:

codice:
int somma(int *aPtr)
{
    int totale=0;
    for(; aPtr <= aPtr[SIZE_R - 1][SIZE_C - 1]; aPtr++)
        totale += *aPtr;
    
    return totale;
}
prova e dimmi come va.