Allora ho provato ad usare la console di debug e la cosa anomala di questa funzione:
codice:
void insertNext(link x,link head){ 
    link t=head->next;    //QUESTA è LA PROCEDURA INCRIMINATA
    while (t!=NULL) {
        t=t->next;
    }t=x;
}
è che all'uscita dal while con l'assegnamento t=x l'indirizzo di t viene giustamente modificato e diventa x, ma se guardo head->next rimane invariato... essendo t=head->next non dovrebbe modificarsi automaticamente anche head->next essendo puntatori??