Aller au contenu

Chapitre 12 : Les Structures (struct)

Apprenez à créer vos propres types de données complexes pour modéliser des objets du monde réel.

Concepts abordés

  • Définition de structures : Regrouper des variables de types différents (champs) sous une même entité.
  • Le mot-clé typedef : Créer des alias pour simplifier la syntaxe et ne plus avoir à répéter struct.
  • Accès aux membres :
    • Utilisation du point . pour les variables classiques.
    • Utilisation de la flèche -> pour les pointeurs vers des structures.
  • Tableaux de structures : Gérer des collections d'objets (ex: une bibliothèque de livres).
  • Structures imbriquées : Définir une structure qui contient une autre structure comme membre.

Explications du code

structures.c

Le code définit plusieurs modèles : une Personne (nom, âge, taille), un Livre pour illustrer les tableaux de structures, et un Segment composé de deux structures Point pour montrer l'imbrication.

Conseils et astuces

  • Passage par pointeur : Passez toujours vos structures aux fonctions par pointeur (void maFonction(const MaStruct *s)) plutôt que par valeur. Cela évite de copier toute la structure en mémoire, ce qui est beaucoup plus performant.
  • Organisation : Les définitions de structures sont généralement placées dans des fichiers d'en-tête (.h) pour être partagées entre plusieurs fichiers source.
  • Initialisation : Vous pouvez initialiser une structure de manière compacte : Personne p = {"Jean", 25, 1.75};.