Leggendo su un libro, ho capito che le strutture seguono la sintassi :

struct nome_stuttura {
variabili
}
Il problema é che successivamente in un esempio scrive :

struct persona {
char nome[Dimensionenome];
char indirizzo[Dimensioneindirizzo];
struct data nascita;
struct data assunzione;
}

Ecco, quelle due struct perché sono messe lì? come si utilizzano ?
Sono strutture che si devono dichiarare prima di questa allo stesso modo? E perché hanno scritto data e poi staccato nascita o assunzione?? Scusate ma non lo capisco
Grazie a chiunque mi chiarisca la cosa
p.s.
dopo la parentesi graffa che chiude la struct, ci vuole o no il punto e virgola??Che la metto o non la metto funziona lo stesso..