Sommaire

Établir des relations entre structures

Un pointeur de structure dans une structure permet d’associer les structures et de les mettre en relation. Nous pouvons distinguer deux cas : celui d’une association entre deux structures de types différents et celui d’une association entre deux structures de même type.

Questions sur la mise en relation de structures

Voici quelques questions pour vous aider à synthétiser et retenir des contenus qui nous paraissent essentiels dans cette section :

Peut-on placer un pointeur de structure dans une structure ?

Quel intérêt ?

Quelle possibilité offre dans une structure un pointeur du même type que cette structure ?

1. Association de structures de types différents

Par exemple dans un programme nous devons avoir d’un côté des pilotes et de l’autre des avions. Chaque pilote peut piloter un avion et chaque avion possède ou non un pilote.

Pour programmer cette situation nous définissons deux structures : une structure pour pilote et une structure pour avion. Dans la structure pilote nous plaçons un pointeur sur une structure avion et dans la structure avion nous plaçons un pointeur sur une structure pilote. Ainsi chaque pilote peut être associé à un avion et réciproquement chaque avion peut être relié à un pilote.

Voici une structure pilote :

typedefstruct avion 
{ 
    struct pilote*pilote; // peut pointer ...