Définir et utiliser une union

Problème

Vous souhaitez utiliser la même variable pour stocker des valeurs de types différents.

Solution

Une union permet de définir plusieurs types pour une variable. Pour stocker des valeurs de types différents au même endroit, utilisez une union.

Discussion

Une union se déclare et s’utilise comme une structure. Par contre, les différents champs de l’union ne sont pas consécutifs mais correspondent au même emplacement en mémoire. Vous ne pouvez donc mettre qu’une valeur à la fois dans une union.

Le C est un langage typé. Une union permet donc de passer outre le type d’une variable en ayant indiqué au préalable les différents types possibles par l’intermédiaire de cette union. Dans un style de programmation visant la stabilité du programme et la lisibilité du code, une union est donc un élément perturbant. Aussi, vous n’utiliserez pas d’unions à moins d’en avoir réellement besoin et de savoir ce que vous faites.

Une union peut être utile lorsque vous devez pouvoir accéder aussi bien à une donnée qu’à une partie de cette donnée. Par exemple, pour convertir un masque de sous-réseau sous forme d’entiers en chaîne de caractères hexadécimale et inversement, l’union suivante facilite la tâche :


union masque 
{ 
  unsigned char...
Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Définir et utiliser un pointeur
Suivant
Définir et utiliser une fonction