Maison > Problème commun > le corps du texte

Comment utiliser l'union en langage C

百草
Libérer: 2023-09-27 11:00:29
original
2653 Les gens l'ont consulté

L'utilisation de l'union en langage C est un type de données spécial qui permet de stocker différents types de données dans le même emplacement mémoire. L'utilisation de l'union peut nous aider à économiser de l'espace mémoire et à passer facilement d'un type de données à l'autre. Lorsque vous utilisez union, vous devez noter que le membre correspondant est valide et qu’un seul membre est accessible en même temps.

Comment utiliser l'union en langage C

L'Union en langage C est un type de données spécial qui permet de stocker différents types de données dans le même emplacement mémoire. L'utilisation de l'union peut nous aider à économiser de l'espace mémoire et à faciliter la conversion entre différents types de données.

1. Définir l'union :

En langage C, on peut utiliser le mot-clé union pour définir un type d'union. Une union est définie de la même manière qu’une structure, mais tous les membres de l’union partagent le même espace mémoire. La syntaxe de l'union est la suivante :

   union union_name {
       member_type member1;
       member_type member2;
       // ...
   };
Copier après la connexion

Où, union_name est le nom de l'union, member_type est le type de données du membre, member1, member2, etc. sont les membres de l'union.

Exemple :

   union Data {
       int i;
       float f;
       char str[20];
   };
Copier après la connexion

2. Accéder aux membres du syndicat :

On peut utiliser l'opérateur point (.) pour accéder aux membres du syndicat. Puisque les membres d’une union partagent le même espace mémoire, un seul membre est accessible en même temps. La syntaxe pour accéder aux membres de l'union est la suivante :

   union_name.member_name
Copier après la connexion

Exemple :

   union Data data;
   data.i = 10;
   printf("data.i = %d\n", data.i);
   data.f = 3.14;
   printf("data.f = %f\n", data.f);
   strcpy(data.str, "Hello");
   printf("data.str = %s\n", data.str);
Copier après la connexion

Dans l'exemple ci-dessus, nous définissons une union nommée Data et créons une variable nommée data. Nous pouvons accéder à différents membres du syndicat via data.i, data.f et data.str.

3. Taille du syndicat :

La taille d'un syndicat dépend de la taille de son plus grand membre. Puisque tous les membres d’une union partagent le même espace mémoire, la taille de l’union peut être suffisamment grande pour accueillir le plus grand membre.

Exemple :

   union Data {
       int i;
       float f;
       char str[20];
   };
   printf("sizeof(union Data) = %lu\n", sizeof(union Data));
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons l'opérateur sizeof pour obtenir la taille des données de l'union. Étant donné que la taille du type float est généralement supérieure à la taille des tableaux int et char, la taille de l'union Data sera égale à la taille du float.

4. Application de l'union :

L'union est souvent utilisée dans les situations suivantes :

- Économiser de l'espace mémoire : Lorsqu'un seul membre parmi plusieurs membres sera utilisé, l'union peut être utilisée pour économiser de l'espace mémoire.

- Conversion de type : vous pouvez utiliser l'union pour convertir entre différents types de données, comme la conversion d'entiers en nombres à virgule flottante, la conversion de nombres à virgule flottante en tableaux de caractères, etc.

Exemple :

   union Convert {
       int i;
       float f;
   };
   union Convert convert;
   convert.i = 10;
   printf("convert.i = %d\n", convert.i);
   printf("convert.f = %f\n", convert.f);
   convert.f = 3.14;
   printf("convert.i = %d\n", convert.i);
   printf("convert.f = %f\n", convert.f);
Copier après la connexion

Dans l'exemple ci-dessus, nous définissons une union nommée Convert, qui contient un membre i de type int et un membre f de type float. En modifiant un membre de l'union, nous pouvons obtenir la valeur correspondante dans un autre membre, réalisant ainsi une conversion de type.

Il est à noter que l'utilisation de union nécessite de la prudence car les membres de union partagent le même espace mémoire. Après avoir modifié la valeur d'un membre, les valeurs des autres membres seront écrasées. Par conséquent, lorsque vous utilisez union, vous devez vous assurer que le membre correspondant est valide et qu’un seul membre est accessible en même temps.

Pour résumer, l'union en langage C est un type de données spécial qui permet de stocker différents types de données dans le même emplacement mémoire. En définissant une union et en accédant à ses membres, nous pouvons économiser de l'espace mémoire et effectuer des conversions entre différents types de données. Lorsque vous utilisez union, vous devez noter que le membre correspondant est valide et qu’un seul membre est accessible en même temps.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal