next up previous contents
Next: Définition Up: INITIATION A LA PROGRAMMATION Previous: Tableaux à plusieurs dimensions

Types structurés - les structures hétérogènes (struct)

Nous avons étudié dans le paragraphe précédent le type tableau. Dans un tableau, tous les éléments sont de même type.

La structure hétérogène (struct) permet de regrouper des éléments hétérogènes, c'est-à-dire de types différents.

Cette structure permet en outre de nommer chacune de ses composantes, contrairement au tableau dans lequel chaque élément est repéré par un indice.

Considérons par exemple un logiciel de gestion de stock pour une épicerie. Pour chaque article, on tient à jour les informations suivantes :

Manifestement, toutes ces informations ne sont pas de type simple. La désignation (le nom de l'article) est une chaîne de caractères, et nécessite donc une définition du type :

const int MaxNom = 80; 

typedef char TypNom[MaxNom];

De même, la date de péremption peut être représentée par une chaîne de la forme ``01/12/92'', et donc être définie par :

typedef char TypDate1 [9]; /* 9 = 8 pour la date + 1 pour le \0 */

mais cette représentation rend difficile la comparaison de dates. On peut donc lui préférer la représentation suivante, sous forme de structure, en utilisant le constructeur struct :

typedef struct 
{
  int Jour;
  int Mois;
  int Annee;
} TypDate;

Nous pouvons désormais définir la structure de donnée ``Article'', elle aussi construite à partir de types standard ou définis préalablement, à l'aide du constructeur struct.

typedef struct
{
  TypNom  Nom;
  double  PrixUnitaire;
  int     Disponible;
  TypDate DatePeremption;
  int     DelaiReapp;
} Article;

Une composante d'une structure est aussi appelée un champ.





Michel COUPRIE
Thu Sep 12 14:57:14 METDST 1996