Ciao, sto studiando da un po di tempo il c++ però non sono ancora riuscito a capire perchè i char utilizzano molto spesso questa sintassi:
char *variabile;

o la differenaza che ci sta tra dichiarare in una funzione l avriabili con * o senza, es:

void funzione(char *s, char c)
{
while(*s)
if (*s==c) return 1
else s++;
return 0;
}

io ho visto sul mio libro che utilizzza anche questo modo, ma quale differenza ci sta tra l'utilizzare l'una o l'altra?

Non essendoci l'esempio di chiamata, presumo che sia così funzione(&var, stringa), e che tutte le volte che la frase non è uguale scorre il puntatore in avanti alla ricerca della seconda frase.

Un'altra cosa che non ho capito è questa:
supponendo che io ho la variabile prova=3; e richiamo queste operazioni:

class prova;
int var = prova;
funzione(prova);

la parola PROVA in questo caso ha il valore scritto di prova o vale 3? nel caso valga 3 come dovrei fare per dirgli che io voglio che si chiami PROVA?