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.


Rispondi quotando