Quando vuoi aiuto in un forum, non dire

"mi da' errore"

perche' rischi che non ti risponda nessuno.

Indica ESATTAMENTE in QUALE RIGA e QUALE ERRORE hai ... ricordalo ...

Poi, vedo che vorresti gestire una lista di elementi. In una lista, il puntatore al prossimo elemento deve fare parte dei dati del nodo.

codice:
    struct Alunno 
    { 
        string nome; 
        string cognome; 
        int eta;
        struct Alunno *next;
    };
Il resto (il puntatore p ... ) non ha assolutamente senso.

Dai un'occhiata ATTENTA a questo articolo

http://it.wikipedia.org/wiki/Lista_concatenata

e guarda la parte di "implementazione in C".