Quando usare i puntatori te la già detto Andrea!

Se usare il passaggio per valore o per riferimento riferimento lo decidi tu in base alle esigenze del tuo programma. Per valore gli passi una copia della variabile, che avrà una durata pari alla durata della funzione che richiami, mentre per riferimento gli passi l'indirizzo della variabile, e quindi andrai a fare le tue operazioni direttamente sulla varibile di origine e perderai il valore che conteneva precedentemente (ovviamente solo se la modifichi).

So già che non mi sono spiegato ma per me l'italiano è un optional!

Ciaoz