struct personne
{
char nom[20];
char prenom[20];
int no_employe;
};
déclare
l'identificateur personne comme étant le nom d'un type de structure
composée de trois membres, dont le premier est un tableau de 20 caractères
nommé nom, le second un tableau de 20 caractères nommé prenom,
et le dernier un entier nommé no_employe.
Dans le jargon du langage C, l'identificateur personne est une
étiquette de structure.
On peut ensuite utiliser ce type structure pour déclarer des variables,
de la manière suivante :
struct personne p1,p2;qui déclare deux variables de type struct personne de noms p1 et p2;
struct
{
char nom[20];
char prenom[20];
int no_employe;
} p1,p2;
déclare deux variables de noms p1 et p2 comme étant deux
structures de trois membres, mais elle ne donne pas de nom au type de
la structure.
L'inconvénient de cette méthode est qu'il sera par la suite impossible de
déclarer une autre variable du même type.
En effet, si plus loin on écrit :
struct
{
char nom[20];
char prenom[20];
int no_employe;
} p3;
les deux structures ont beau avoir le même nombre de champs, avec les mêmes
noms et les mêmes types, elles seront considérées de types différents.
Il sera impossible en particulier d'écrire p3 = p1;.
struct personne
{
char nom[20];
char prenom[20];
int no_employe;
} p1,p2;
déclare les deux variables p1 et p2 et donne le nom
personne à la structure.
Là aussi, on pourra utiliser ultérieurement le nom struct personne pour
déclarer d'autres variables :
struct personne pers1, pers2, pers3;qui seront du même type que p1 et p2.
De ces trois méthodes c'est la première qui est recommandée, car elle permet de bien séparer la définition du type structure de ses utilisations.
struct personne p = {"Jean", "Dupond", 7845};