Quote Originariamente inviata da nellog Visualizza il messaggio
Grazie mille, mica potresti spiegarmi perchè si fa così e non come ho fatto io?

Semplicemente perché nella funzione la malloc deve modificare il valore del puntatore e per farlo ha bisogno del suo indirizzo, ovvero il puntatore deve essere passato per puntatore (doppio puntatore).

Se passi il singolo puntatore, ne viene fatta una copia nella funzione e il suo valore viene perso all'uscita rendendo inutile il suo uso nel main.