Next: Opérateurs sur les structures
Up: Structures, unions et énumérations
Previous: Notion de structure
Sous-sections
Il y a plusieurs méthodes possibles pour déclarer des structures.
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;
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;.
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: Opérateurs sur les structures
Up: Structures, unions et énumérations
Previous: Notion de structure
Bernard Cassagne
1998-12-09