Grazie mille!

PS: per rendre più genercio possibile il tutto ho voluto sostisuire il while con un for sugli indirizzi:

codice:
    for(p=elem;p!=NULL;p=p->next)
    {
        printf("Code: %d\n", p->code);
    }
Compila correttamente ma al lancio dell'applicazione stampa tutti i valori, sfora in un indirizzo ignoto, lo stampa e poi crasha, perchè?