IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index
Next: Opérateurs sur les structures Up: Structures, unions et énumérations Previous: Notion de structure

Sous-sections

Déclaration de structure

      Il y a plusieurs méthodes possibles pour déclarer des structures.

Première méthode

La déclaration :
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;

Deuxième méthode

On peut déclarer des variables de type structure sans utiliser d'étiquette de structure, par exemple :
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;.

Troisième méthode

On peut combiner déclaration d'étiquette de structure et déclaration de variables, comme ceci :
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.

   
Initialisation d'une structure

Une structure peut être initialisée par une liste d'expressions constantes à la manière des initialisations de tableau. Exemple :
struct personne p = {"Jean", "Dupond", 7845};


next up previous contents index
Next: Opérateurs sur les structures Up: Structures, unions et énumérations Previous: Notion de structure
Bernard Cassagne
1998-12-09