0% ont trouvé ce document utile (0 vote)
18 vues12 pages

Structures en langage C : Guide complet

Transféré par

Salma Hamdouchi
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)
18 vues12 pages

Structures en langage C : Guide complet

Transféré par

Salma Hamdouchi
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 : Algorithmique et

programmation 2

Cours
Algorithmique et Programmation
en langage C

Les structures

Pr. Haitam ETTAZI


Les structures (1/2)
• Une structure est un nouveau type de données composé de plusieurs champs qui sert à
représenter un objet (ex. Etudiant, Client, Compte bancaire , … ).

• Dé nition du modèle de structure : struct < identi cateur_structure > {


< type> <ident_champ_1 >;
< type> < ident_champ_2>;

< type> < ident_champ_n >;
};
• Exemple :
struct voiture { char couleur[10];
int Immat ; };

• La dé nition d’un modèle de structure ne réserve pas de variables correspondant à


cette structure .

• Une fois un tel modèle est dé ni , il est possible de déclarer des variables du type
correspondant.

•• Exemple
Déclaration d’une structure : struct <identi cateur> < ident_variable> ;
: struct voiture V;

( V destiné à contenir une chaine de caractères et une valeur entière)


2
fi
fi
fi
fi
fi
Les structures (2/2)
Dé nition avec Déclaration d’une structure : On peut regrouper la dé nition
et la déclaration des variables d’une structure dans une seule instruction

struct < identi cateur_structure> {


< type> <ident_champ_1>;
< type> < ident_champ_2>;

< type> < ident_champ_n>;
} <ident_variable1>, < ident_variable2>, … ;
• Exemple :

struct voiture { char couleur[10];


int Immat ; } V1, V2, V3 ;

• Un autre cas possible :


struct { char couleur[10];
int Immat ; } V1, V2, V3 ;
3
fi
fi
fi
Utilisation des structures (1/3)
• Les structures peuvent être manipulées champ par champ ou dans leur ensemble
• Opérations sur les champs :
struct voiture { char couleur[10];
int Immat ;
};

• Accès à un champ d’une structure :


nom de la variable structure suivi de l’opérateur point (.) suivi du nom de champ
– Syntaxe : < identif_structure> . < champ_i >;

– Exemple : struct voiture V;


V. Immat = 247890;
printf ( " Immat = %d", [Link] );

4
Utilisation des structures (2/3)
• Opérations sur les variables structures
struct voiture { char couleur[10];
int Immat ;
};

• Initialisation à la déclaration :
– Syntaxe : struct < identif > < nom_variable> = {champ1, champ2,…, champn};
– Exemple : struct voiture V = {"bleu", 13737};

• A ectation :
– Les variables structures doivent être de même type
– Exemple : struct voiture V1, V2; V1 = V2;

L’a ectation globale entre deux variables d’un même type structure est la
seule opération autorisée, mais pas les autres ( e. g . comparaisons, etc. )

5
ff
ff
Utilisation des structures (3/3)
• Type synonyme d’un type
• Pour dé nir un type synonyme à un type simple, on utilise l’attribut typedef
• typedef ne crée pas de nouveau type à proprement parler
• Syntaxe : typedef <type> < ident_type > ;
• Exemple :
1) struct voiture { char couleur[10] ;
int Immat ;
};
typedef struct voiture Une_voiture;

Signi e que Une_voiture est synonyme de struct voiture.


struct voiture V et équivalente à Une_voiture V;

2) typedef struct { int jour , mois, annee ;


} Date ;
Date date;

6
fi
fi
Utilisation des structures : exemple 1

7
Utilisation des structures : exemple 2

8
Structures imbriquées
 On peut utiliser un type structure comme attribut

9
Tableaux de structures

• Syntaxe : struct nom_struct < Ident - Struct> [Taille] ;


• Exemple : struct voiture {
char couleur[10];
int Immat ;
};

struct voiture Mes_voitures [10] ; // déclare un tableau de 10 voitures de type


voiture

Mes_voitures [0] {couleur0, Immat0}


Mes_voitures [1] {couleur1, Immat1}
Mes_voitures [2] {couleur2, Immat2}
… …
Mes_voitures [i] {couleuri , Immati }

… …
Mes_voitures [9] {couleur9, Immat9}
10
Tableaux de structures : exemple

11
Structures et pointeurs

• Comme pour les autres types, il est possible de dé nir des pointeurs sur des
structures

• L’accès aux champs à partir de son adresse se fait en utilisant l’opérateur “ - > “
( équivalent à (*p) .)

14

12
fi

Vous aimerez peut-être aussi