Originariamente inviato da oregon

Sì anche se la forma con il puntatore e' piu' flessibile in quanto indichi il passaggio di una stringa ma non ne limiti le dimensioni.
Ahhh comincio a capire.
Poiche' la stringa e' un array, e poiche' quando passiamo un array alle funzioni in realta' passiamo la locazione in memoria del suo primo elemento, cioè un puntatore (scritto senza *) tanto vale dichiararla direttamente come puntatore.

Cioe, per vedere se ho capito.

void pippo(char a[50])

equivale a

void pippo(char &a[0])

e quindi in tutte le occorrende dentro la funzione pippo verra' usata la la locazione di memoria del primo elemento di a.

Allora, tanto vale dichiararla come

void pippo(char *a)

cosi', usando a (senza asterisco) all'interno della funzione, uso in effetti la locazione del suo primo elemento, esattamente come sopra...

Giusto?


Ma allora potrei anche scrivere

void pippo(char a[])

ma magari viene considerata meno elegante...o no?

Ciao!
e Grazie!