La domanda penso che sia alquanto stupida pero' non ho capito una cosa.
E' possibile secondo voi passare un array di caratteri per riferimento ad una funzione ?
In realtà è la prassi più comune. In C puro più che per passare una variabile per riferimento si passa per valore un puntatore a tale variabile. In C++ esiste anche la sintassi che permette di passare una variabile per riferimento (usando &) ma il risultato è lo stesso.
Ad ogni modo, quando si prende in considerazione un array (ad esempio vett[]) di fatto il "nome" dell'array (in questo caso vett) è il puntatore al suo primo carattere. Quando dunque tu dichiari una funzione
codice:
int foo(char *aVett);
di fatto puoi chiamarla pasandole un array
codice:
char pippo[20];
...
foo(pippo);
Infatti pippo è il puntatore al primo carattere di pippo[20].
Ovviamente la funzione chiamata deve sapere quant'è lungo tale array, oppure l'array di caratteri deve avere un terminatore corretto (ad esempio 0x00 che è il "terminatore ufficiale" delle stringhe in c/c++), oppure si deve fornire un qualche modo per aiutare la funzione, ad esempio:
codice:
int foo (char *aVett; int aNCars);
e poi chiamarla con:
HTH