Il puntatore è *p, che la funzione riceve come parametro. Ripeto, gli altri due casi, quando deve inserire l'elemento in coda o in mezzo alla lista funzionano. Non funziona soltanto l'inserimento in testa. cioè questo:
codice:
if(prec==NULL){    //siamo a inizio lista - NON FUNZIONA E NON SI CAPISCE PERCHE' -
                                    nuovo->next = q;
                                    q = nuovo;
                                }