|
|
Langage
C - C++
Structures |
|
Structures - définition - déclaration
-
|
|||
|
Une structure est un ensemble de données de types divers (contrairement aux tableaux qui rassemblent des données de même type). Voici la définition
d'une structure, visiblement destinée à constituer un agenda
d'adresses.
ficheID
est l'identificateur de la structure Les divers
membres ont bien ici des types différents (ce qui n'est nullement
obligatoire) : Noter que nous avons parlé de "définition" et non de "déclaration" car une déclaration s'accompagne de réservation d'espace mémoire pour la variable ou la constante déclarée. Ici, aucune réservation n'est faite : ficheID est l'identificateur de la structure mais aucun espace mémoire n'est réservé pour lui, pas plus que pour les divers membres. Pour réserver de l'espace mémoire pour une ou plusieurs structures, on peut le faire dès sa définition : Exemple : nous définissons ici à la fois l'identificateur "complexe" et réservons de la mémoire pour trois variables de ce type de structure : c1, c2 et c3.
Toutefois, il est préférable de séparer la définition de la structure dela déclaration avec réservation mémoire des variables :
C'est pourquoi l'on écrit souvent les définitions de structures dans des fichiers d'entête ".h" séparés (comme dans notre premier exemple "fiches.h" ci-dessus). On peut ainsi insérer
ces fichiers par un "#include" dans tous les fichiers source
où l'on déclare des variables du type correspondant. |
|
Exploitation
des structures
|
||
|
Maintenant que l'on sait ce qu'est une structure on va apprendre à s'en servir.
Affichage à l'exécution :
|
|
Passage
d'un pointeur de structure en paramètre dans une procédure
|
||
|
On ne passe jamais une structure en paramètre à une fonction, mais toujours un pointeur sur la structure. Exemple :.
Affichage à l'exécution (le même que ci-dessus):
|
|
USAGE
|
|
//Définition struct identificateurStruc { type
Membre; |
|
//Déclaration d'une variable "Variable" de type identificateurStruc struct
identificateurStruc VariableStruc; |
|
//Exploitation VariableStruc.Membre
= ? ; |
|
//Référencement struct identificateurStruc * ptrVariableStruc; ... = ptrVariableStruc
-> Membre ; |
|
|