Programmer en langage C
170
© Éditions Eyrolles
typedef struct enreg s_enreg ;
s_enreg art1, art2 ;
ou encore, plus simplement :
typedef struct
{ int numero ;
int qte ;
float prix ;
} s_enreg ;
s_enreg art1, art2 ;
Par la suite, nous ne ferons appel qu’occasionnellement à typedef, afin de ne pas vous enfermer dans un style de notations que vous ne retrouverez pas nécessairement dans les programmes
que vous serez amené à utiliser.
4 Imbrication de structures
Dans nos exemples d’introduction des structures, nous nous sommes limité à une structure
simple ne comportant que trois champs d’un type de base. Mais chacun des champs d’une
structure peut être d’un type absolument quelconque : pointeur, tableau, structure... Il peut
même s’agir de pointeurs sur des structures du type de la structure dans laquelle ils apparaissent. Nous en reparlerons dans le chapitre 11, « Gestion dynamique de la mémoire », à propos
de la constitution de listes chaînées. De même, un tableau peut être constitué d’éléments qui
sont eux-mêmes des structures. Voyons ici quelques situations classiques.
4.1 Structure comportant des tableaux
Soit la déclaration suivante :
struct personne { char nom[30] ;
char prenom [20] ;
float heures [31] ;
} employe, courant ;
Celle-ci réserve les emplacements pour deux structures nommées employe et courant. Ces
dernières comportent trois champs :
●
nom qui est un tableau de 30 caractères ;
●
prenom qui est un tableau de 20 caractères ;
●
heures qui est un tableau de 31 flottants.
Delannoy Livre.book Page 170 Mercredi, 6. mai 2009 4:26 16
170
© Éditions Eyrolles
typedef struct enreg s_enreg ;
s_enreg art1, art2 ;
ou encore, plus simplement :
typedef struct
{ int numero ;
int qte ;
float prix ;
} s_enreg ;
s_enreg art1, art2 ;
Par la suite, nous ne ferons appel qu’occasionnellement à typedef, afin de ne pas vous enfermer dans un style de notations que vous ne retrouverez pas nécessairement dans les programmes
que vous serez amené à utiliser.
4 Imbrication de structures
Dans nos exemples d’introduction des structures, nous nous sommes limité à une structure
simple ne comportant que trois champs d’un type de base. Mais chacun des champs d’une
structure peut être d’un type absolument quelconque : pointeur, tableau, structure... Il peut
même s’agir de pointeurs sur des structures du type de la structure dans laquelle ils apparaissent. Nous en reparlerons dans le chapitre 11, « Gestion dynamique de la mémoire », à propos
de la constitution de listes chaînées. De même, un tableau peut être constitué d’éléments qui
sont eux-mêmes des structures. Voyons ici quelques situations classiques.
4.1 Structure comportant des tableaux
Soit la déclaration suivante :
struct personne { char nom[30] ;
char prenom [20] ;
float heures [31] ;
} employe, courant ;
Celle-ci réserve les emplacements pour deux structures nommées employe et courant. Ces
dernières comportent trois champs :
●
nom qui est un tableau de 30 caractères ;
●
prenom qui est un tableau de 20 caractères ;
●
heures qui est un tableau de 31 flottants.
Delannoy Livre.book Page 170 Mercredi, 6. mai 2009 4:26 16
