queste sono domande la cui risposta si trova nei primi 3 capitoli di OGNI libro di c o c++..

rispondo lo stesso anche se sarebbe meglio che studiassi su un libro..

1) L'asterisco indica che il parametro da passare è un puntatore a char costante, cioè che tale puntatore non può essere modificato

2) si è corretto

3) corretto pure questo

4) lo "*" è l'operatore di "referenzazione", retituisce l'oggetto puntato dal puntatore
il discorso della &: indica che è un riferimento ( nei prototipi non serve mettere il nome della variabile da passare perchè è opzionale ) quindi indica che passerai alla funzione una variabile tramite suo indirizzo..

5) Attenzione che puntatore costante e puntatore a valore costante sono concetti molto differenti