Il faut faire preuve d'un peu d'abstraction et voir la structure comme une variable à peu près comme les autres... A ceci près qu'on ne peut pas effectuer les mêmes opérations avec.
Ainsi, ta structure est bien rangée quelque part en mémoire, à une adresse. Lorsque ton programme veut y accéder, il va voir à cette adresse et comme il sait qu'il s'agit bien d'une structure et non d'un réel, par exemple, il va savoir comment interpréter les données.
Il ne faut pas oublier que pour TOUS les types, même natifs, les données sont interprétées vu qu'il existe plusieurs façon de les ranger en mémoire. La structure n'est qu'un type de données plus complexe.
La façon dont sont rangées les champs de la structure en mémoire dépend de l'implémentation mais en général, le premier champ est rangé à l'adresse la plus petite et c'est cette adresse qui fait office d'adresse pour la structure (à confirmer néanmoins).