C0039 LES STRUCTURES (TYPES COMPOSéS)
Publié le : 29/09/2024 à 07:52
Problématique
Écrire un programme qui permet de saisir les données de 3 étudiants. Un étudiant est caractérisé par son nom, son prénom, son matricule, son numéro de téléphone, sa moyenne, son âge et son adresse. Le programme détermine et affiche l’étudiant qui a la plus grande moyenne et celui qui a la plus petite moyenne.
Pour résoudre le problème, on peut déclarer les caractéristiques de tous les étudiants : chaque caractéristique devient une variable. Ce qui équivaut à faire plusieurs allers-retours au niveau de la mémoire et de faire plusieurs réservations d’espace.
Pour plus d’optimisation et d’organisation, il est préférable d’utiliser les structures pour regrouper les variables en bloc.
Introduction
Les objets (variables) de type structure sont comme des tableaux constitués d’un ensemble de valeurs. Mais à la différence des tableaux, ces valeurs ne sont pas nécessairement de même type. Une structure est un ensemble de valeurs compactes qui regroupe des objets de plusieurs types. Ces derniers, peuvent être élémentaires ou composés (structures). Pour accéder à un élément (champ) de la structure, on met le nom de la structure suivi d’un point et ensuite le nom du champ.
I. Déclaration de structure
Pour définir un type structure “Personne“ composé de 3 champs (nom, prénom, âge), il faut :
Définition :
struct Personne{
char nom[25];
char prenom[50];
int age;
}Déclaration :
struct Personne p;<br>
“char nom[25]“ est un tableau (chapitre suivant) de caractères pouvant contenir jusqu’à 25 caractères. On l’appelle une chaine de caractères.
II. Les méthodes de déclarations de variables
Il existe 3 méthodes pour déclarer des variables de type structure
Méthode 1:
struct Personne{
char nom[25];
char prenom[50];
int age;
};
struct Personne p1,p2;
Avec cette méthode, il est possible de déclarer d'autre variables apres. Cette méthode sépare la DEFINITION de la DECLARATION.
Méthode 2:
struct Personne{
char nom[25];
char prenom[50];
int age;
}p1,p2;
struct Personne p3;
Avec cette méthode, on peut combiner le DEFINITION et la DECLARATION.
Méthode 3:
struct{
char nom[25];
char prenom[50];
int age;
}p1,p2;
Avec cette méthode, il est impossible de déclarer des variable APRES. La structure n'a pas de nom : on parle de structure ANONYME.
III. Initialisation
Il existe 2 façons d’initialisation :
a. Initialisation pendant la déclaration
struct Personne p = {"Toto","Titi",23};Dans cette initialisation, il faut respecter l’ordre de déclaration des champs
b. Initialisation après la déclaration
p.champ1 = valeur1
p.champ2 = valeur2
p.champ3 = valeur3
...
Ici, "p" représente la valeur de type structure.