Académique Documents
Professionnel Documents
Culture Documents
Structures de données
SMI / SMA – S4
a.souri@uae.ac.ma
adnan.souri@gmail.com
Structures de données
1
04/03/2022
Structures de données
CHAPITRE 1
Les Structures
a.souri@uae.ac.ma
adnan.souri@gmail.com
2
04/03/2022
Structures de données
• Syntaxe :
Structures de données
• Exemple de structure :
struct etudiant {
int CNE;
char nom[80],prenom[80];
};
• Initialisation à la déclaration :
struct etudiant e = {70081, "Alami", "Badr"};
3
04/03/2022
Structures de données
e.CNE = 12121212 ;
Structures de données
• Utilisation de typedef :
struct etudiant {
…
} ;
typedef struct etudiant Etd ;
• Déclaration : Etd e ; 8
4
04/03/2022
Structures de données
struct date {
int jour, mois, annee;
} ;
struct etudiant {
int CNE ;
char nom[80], prenom[80];
Date d ;
// ou bien struct date d
} ;
Structures de données
10
5
04/03/2022
Structures et fonctions
• Une structure
– Peut être passée comme argument des fonctions
– Peut être résultat d’une fonction
11
Structures et fonctions
12
6
04/03/2022
Structures et fonctions
13
Structures et tableaux
0 1 99
CNE CNE CNE
T nom nom nom
prenom prenom … prenom
note note note
14
7
04/03/2022
Structures et pointeurs
• Un pointeur est une variable dont la valeur est égale à l’adresse d’un
autre objet.
• On déclare un pointeur p vers une structure de type struct modele :
struct modele *p ;
• Exemple
struct etudiant e; // e est une structure
struct etudiant *p; // p est un pointeur
p = &e;
15
Structures et pointeurs
16
8
04/03/2022
Structures et pointeurs
Etd e, *pe ;
pe = &e ;
• Ou bien :
(*pe).CNE = 12 ;
e.CNE = 12 ;
17
Structures de données
struct etudiant {
int CNE ;
char nom [80], prenom [80] ;
struct etudiant binome ;
} ;
INCORRECT
9
04/03/2022
Structures de données
• Utilisation de l’adresse :
struct etudiant {
int CNE ;
char nom [80], prenom [80] ;
struct etudiant *binome ;
} ;
10