0% ont trouvé ce document utile (0 vote)
76 vues11 pages

Structures

Informatique

Transféré par

dembelejacob719
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
76 vues11 pages

Structures

Informatique

Transféré par

dembelejacob719
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Généré le 1er janvier 2048 à [Link]

Structures et pointeurs

Sinaly Traoré ∗
DER de Mathématiques et Informatique
Faculté des Sciences et Techniques (FST)
Université des Sciences, des Techniques et des Technologies de Bamako (USTTB)

Licence MPCI - Semestre 2

../../../../Figures/pngs/[Link] ../../../../Figures/jpeg
∗. E-mail : sinatra2usttb@[Link]
BP : E 3206, Bamako, Mali

Sinaly Traoré (USTTB/FST) Structures et pointeurs 1 / 11


Outline

Structures

Sinaly Traoré (USTTB/FST) Structures et pointeurs 2 / 11


Outline

Structures

Sinaly Traoré (USTTB/FST) Structures et pointeurs 3 / 11


Structures

Comme les tableaux, une structure est un type composé et permet aussi de regrouper des
données au sein d’une même entité.

Qu’est ce qu’une structure


Une structure est un ensemble fini d’éléments de types différents.

Chaque élément de la structure est une variable qui s’appelle un champs ou membre.

Les champs d’une structure n’occupent pas nécessairement des zones contigüe dans la
memoire.

utilisation pratique d’une structure


On crée une structure pour représenter :
un objet concrêt
personne, voiture, . . .
un concepte
date, classe, . . .

Sinaly Traoré (USTTB/FST) Structures et pointeurs 4 / 11


Définir un modèle de structure et un objet structure

Pour déclarer un modèle de structure, on utilise la syntaxe suivante

Syntaxe de déclaration d’un model de structure


struct nom
{
type1 membre1;
type2 membre2;
.
.
.
typeN membreN
};

On peut effectuer sur chaque membre de la structure toutes les opérations valides sur des
données de son type

Pour déclarer un objet Obj correspondant à un model de structure struct Model, on


utlise la syntaxe suivante :
struct Model Obj;

Sinaly Traoré (USTTB/FST) Structures et pointeurs 5 / 11


Exemple de déclaration

/*Déclaration d’un modèle de structure représentant un nombre complexe*/


struct complexe
{
float reel;
float imaginaire;
};
/*Déclaration d’un objet correspondant au modèle struct complexe*/
struct complexe z;
Ici, z est une variable de type struct complexe
/*Déclaration d’un modèle de structure représentant une personne*/
struct personne
{
int age;
char nom[20];
char prenom[20];
};
/*Déclaration d’un objet correspondant au modèle struct personne*/
struct personne individu;
Ici, individu est une variable de type struct personne
Sinaly Traoré (USTTB/FST) Structures et pointeurs 6 / 11
Déclarer un objet et un model de structure en même temps

Pour déclarer un objet Obj de type structure correspondant à un modèle Model si celui-ci
n’a pas été déclaré au préalable on procède comme suit :
struct Model
{
type1 membre1;
type2 membre2;
.
.
.
typeN membreN;
} Obj;

Exemple
struct date
{
int jour;
int annee;
char *mois;
} dateNaissance;

Sinaly Traoré (USTTB/FST) Structures et pointeurs 7 / 11


Accès aux champs d’une structure

On accède aux différents membres d’une structure grâce à l’opérateur membre de


structure, noté "."

Pour accéder au membrek d’un objet Obj correspondant à un modèle de structure on


utilise l’expression :
[Link];

Exemple
struct complexe
{
float reel;
float imaginaire;
};

int main()
{
struct complexe z; //déclaration d’une variable de type struct complexe
printf("Saisir la partie reelle et la partie imaginaire\n");
scanf("%f%f",&[Link], &[Link]);
printf("Vous avez choisi le nombre %.2f + %.2fi\n", [Link], [Link]);
}

Sinaly Traoré (USTTB/FST) Structures et pointeurs 8 / 11


Initialisation et affectation d’une structure
Les règles d’initialisation d’une structure lors de sa déclaration sont les mêmes que pour
les tableaux Par exemple, on peut écrire :

struct complexe z={2,3};


avec cette instruction, le champs reel de z sera initialisé à 2 et le champs imaginaire de z
sera initalisé à 3

Noter bien qu’il est possible d’appliquer l’opérateur d’affectation aux structures. Donc, si
Obj1 et Obj2 sont deux variables de type un modèle de structure, on peut écrire :
Obj1=Obj2;

Exemple
int main()
{
struct complexe z1, z2;
. . .
z1=z2;
}

Noter aussi qu’aucune comparaison (==,<,>, ...) n’est possible sur les structures
Sinaly Traoré (USTTB/FST) Structures et pointeurs 9 / 11
Synonymie de type
Grâce au mot-clé typdef on peut donner un synonyme (un nouveau nom lui désignant) à
un type comme suit :
typdef type Synonyme;
Par exemple, on peut donner complexe comme synonyme au type struct complexe en
écrivant :
typdef struct complexe complexe;

Exercice : Etablissement d’un tableau de personnes


Définir une structure datenaissace qui représente une date de nainssance et son
synonyme date.
Définir une structure personne où une personne est représentée par son nom, son
prénom, sa date de naissance et son lieu de naissance. Définir son synonyme
personne.
Définir un tableau de 5 personnes nommé liste.
Ecrire un programme principal qui permet de réaliser les taches suivantes :
demander à l’utilisateur d’initialiser le tableau liste.
présenter chaque personne dans liste en indiquant son numéro, son nom, son
prénom, sa date de naissance et son lieu de naissance.
Sinaly Traoré (USTTB/FST) Structures et pointeurs 10 / 11
Références

Berthomier, E. and Schang, D. (2010).


Le C en 20 heures.
In Libro Veritas-Bibliotheca.
Braquelaire, J.-P. (2005).
Méthodologie de la programmation en C.
Dunod.
Kernighan, B. and Ritchie, D. M. (2017).
The C programming language.
Prentice hall.
Nebra, M. (2015).
Apprenez à programmer en C.
OpenClasssrooms.

Sinaly Traoré (USTTB/FST) Structures et pointeurs 11 / 11

Vous aimerez peut-être aussi