![]() ![]() ![]() |
|
L a n g a g e C
L e s u n i o n s
Le type union est composé de plusieurs champs superposés en mémoire. Une union ne peut donc contenir qu'une seule valeur à un instant donné. La syntaxe de la définition, de l'initialisation et de l'utilisation est similaire à celle de la structure, si ce n'est que les champs de bits n'y sont pas autorisés. Les propriétés et les opérations énoncées pour les structures s'appliquent également à l'union. La taille d'une union est l'espace mémoire nécessaire pour représenter le champ le plus large :
Cette déclaration définit une variable u pouvant être soit un entier, soit un réel :
![]() Il n'est pas possible de savoir quel composant a été modifié en dernier, si ce n'est en mémorisant l'état de l'union. Par exemple, l'union peut être placée dans une structure dont un champ indique son composant actif :
Le module d'un complexe est alors calculé par la fonction :
Notons que dans ce cas bien précis l'union ne sert qu'à offrir des noms de champs explicites pour chacune des formes, puisque les deux membres car et pol sont composés des mêmes types (float, float).
|
![]() |
![]() |
![]() |
© 2000-2025 Exood4 Studio. Tous droits réservés. |