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 &...
Version en cache
18/12/2024 17:02:48 Cette version de la page est en cache (à la date du 18/12/2024 17:02:48) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 21/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/c-structure.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.