Les structures en C
Nous avons vu qu'il existe différents types de données, et que pour une variable, nous devons déclarer le type de données qu'elle pourait contenir.
Mais il existe des situations où nous sommes ammenés à traiter un ensemble de données de types différents, en un seul bloc.
Un exemple simple est le traitement des données relatives à un individu:
Nom: Agessé, Prénom: Leng, Année de naissance: 1970
Le nom et le prénom sont des chaînes de caractères, et l'année de naissance est un entier.
Autre exemple, le traitement des dates. Prenons la forme "Lundi 20 janvier 2003":
structure date
{
int jour;
char mois;
int annee;
Remarques :
- Le mot clé struct permet la déclaration d'une structure composée des variables déclarées entre les accolades.
- Le mot clé struct est suivi d'un mot représentatif que l'on appelle l'étiquette de la structure.
- Cette instruction déclare donc une structure d'étiquette "date", composée de deux chaînes de caractères et de deux entiers.
- Comme la déclaration de la structure date n'est pas suivie d'une ou de plusieurs variables, elle décrit simplement un modèle, un type de structure.
Aucun espace mémoire n'est donc réservé dans ce cas.
initialisations
struct date a{"Lundi",20,"janvier",2003};
struct date b{"Samedi",19,"octobre",1996};
Accès aux éléments
Les différents éléments de la structure sont appellés "membres".
Syntaxe de l'accès à un membre
nom_de_structure.membre
Exemple:
Impression d'un membre
Après avoir initialisé notre structure, nous pouvons introduire l'instruction suivante :
printf("\nAnnee: %d",&a.annee);
Ce qui affiche :
Annee: 2003
|
Nous pouvons remarquer l'emploi de l'adresse par l'opérateur &...
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 21/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/c-structure.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.