0% ont trouvé ce document utile (0 vote)
41 vues8 pages

Les Structures de Données

Transféré par

Aziz Mansouri
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)
41 vues8 pages

Les Structures de Données

Transféré par

Aziz Mansouri
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

Module Atelier de programmation 2

Chapitre : Les structures de données

Amal BOUAZIZ
Le type Structure
 Équivalent de l’enregistrement en algorithmique

 Un enregistrement, appelé structure en langage C, est une variable


complexe qui permet de désigner sous un seul nom un ensemble de valeurs
pouvant être de types différents (simples ou complexes).

 Chaque élément de l’enregistrement est nommé champ.


 L’accès à un champ se fait par son nom dans l’enregistrement.

Type hétérogène composé de plusieurs champs pouvant avoir chacun leur


propre type
2
Le type Structure
 Syntaxe : /* définir la structure */
Struct
nom_type {
type1 champ1
; type2
champ2 ;
type3 champ3
;} ;

3
Le type Structure
 Déclaration :
 struct nom_type objet; // sans définition d’un type personnalisé
Ou //pour une seule utilisation de la structure (sans déclaration
supplémentaire)
struct
nom_type {
type1 champ1 ;
type2 champ2 ;
type3 champ3 ;
} objet ;

 Accès à différents membres :

 [Link] le ième membre de l'objet


 La taille réservée en mémoire est la somme des tailles des
champs 4
Le type Structure
 Exemple de structure :
struct etudiant { int ID ;
char nom [80], prenom [80] ;
};

 Exemple de déclarations de variables :


• struct etudiant e ;
• struct etudiant tabEtudiants [100] ; /* tableau de structures */

 Initialisation à la déclaration :
struct etudiant e = {70081, "Ali", "Salah"};
5
Le type Structure
 Utilisation de typedef :
 typedef struct etudiant Etudiant ;
 …
 Etudiant e ;
 Accès aux champs : utilisation du symbole ( .)
 printf("L’étudiant %s %s a le numéro %d\n", [Link], [Link], [Link]) ;
 Affectation possible entre deux variables de même type :
 Etudiant e1, e2 ;
 …
 e1 = e2 ;
6
Structures et pointeurs

 On peut utiliser des « pointeurs sur structure » :


 Etudiant e, *pe ;
 pe = &e ;
 pe contiendra l’adresse du premier champ de la structure
 Utilisation du symbole -> pour accéder aux champs dans le cas des
pointeurs :
 pe->ID = 12 ;
 Ou
 (*pe).ID = 12 ;

7
Structures imbriquées

 Imbrication d’une structure dans une autre structure :


typedef struct date {
int jour, mois, annee;
} Date ;
//typedef struct date Date ; struct etudiant {
int ID ;
char nom[80], prenom[80]; Date date_naissance ;
};
typedef struct etudiant Etudiant ;

Vous aimerez peut-être aussi