il motivo è che per modificare il valore di una variabile passata come parametro bisogna passarla per indirizzo, ossia come puntatore, altrimenti verrebbe modificata localmente alla funzione e basta.
Nel tuo caso specifico ciò che fai non è altro che passare un puntatore ad una variabile di tipo listOfElem tutto qui. Il fatto che poi listOfElem sia a sua volta un puntatore e quindi risulti un puntatore a puntatore è per così una cosa relativa.
spero di essere stato chiaro
|