lynamen non capisco bene perché fai ricorso a puntatore a puntatore
Sì, infatti mi ero corretto sopra, avevo scritto una grande ca...a XD.

possibile che il semplice assegnamento t=head->next; poi non faccia andare più le cose come dovrebbero?
Sì, perché tu modifichi t, head->next continua a puntare a Null.

codice:
void insertNext(link x,link head){ 
// esempio: iniziamo con una lista vuota.
 //head punta ad un indirizzo, head->next a NULL
    link t=head->next;  // Ora t punta allo stesso indirizzo di next, ovvero NULL
    while (t!=NULL) { //falso
        t=t->next; 
    }t=x; // Qui t punta allo stesso indirizzo di x, head->next continua a puntare a NULL
}