"Vantaggio: posso ampliare la struttura, senza modificare alcunché sia stato definito in precedenza per gli attributi preesistenti." in che senso? lo puoi fare anche senza il typedef.
perché hai definito la struct "anagrafe" e poi l'hai nominata in "subject"?