Array multi dimensionali

Salve a tutti, sto cercando di fare un menu per il mio lcd 20x4 e vorrei passare come paramatro all'interno di una funzione, un array multidimensionale.

char* menu[3][3] = { {"menu1", "menu2", "menu3" }, {"opt-1-1", "opt-1-2", "opt-1-3" }, {"opt-2-1", "opt-2-2", "opt-2-3" } };

Vorrei poter passare questo parametro all'interno di una funzione del tipo

disegnaMenu (menu[0][])

l'idea è quella di passare esclusivamente il primo parametro che rappresenta la riga per poi poter visualizzare l'intero suo contenuto nella funzione stessa.

Come posso fare? Grazie a chi vorrà aiutarmi :)

Valerio p.s. buon anno!

Passi 2 parametri, menu (tutto) e poi l'indice della riga. disegnaMenu (menu,0)

Ricorda che funzione non può sapere le dimensioni ovvero che è 3x3, io passerei quelle, quindi 4 parametri, la menu, riga e poi maxrighe e maxcolonne disegnaMenu (menu,0,3,3);

Occhio però che le matrici in C sono un complicate da usare. La dichiarazione della funzione deve essere qualcosa del genere:

void DisegnaMenu(pstr mnu[][3],int x)
{ Serial.println(mnu[x][0]);
 Serial.println(mnu[x][1]);
 Serial.println(mnu[x][2]);
}

Per regola del C solo la prima dimensione può essere omessa. Infatti se provi a togliere quel 3 nella seconda quadra, non compila e ti avvisa. In C poi un array (monodimensionale) è alla fine gestibile con i puntatori, anche un array di stringhe può essere visto come puntatore ad array di puntatori (esempio **argv oppure *argv[] ) MA un array multidimensionale NON si può "convertire" usando solo i puntatori (a meno di giri strani ovvero usare array di puntatori e poi allocazione dinamica). http://www.matematicamente.it/forum/passaggio-di-una-matrice-a-ad-una-funzione-linguaggio-c-t76706.html