Différence entre structure et union
Qu'est-ce que la structure ?
La structure est un type de données défini par l'utilisateur dans le langage de programmation C qui combine des éléments de données logiquement liés de différents types de données.
Tous les éléments de structure sont stockés à des emplacements de mémoire contigus. La variable de type de structure peut stocker plusieurs éléments de données de différents types de données sous un même nom.
Dans ce didacticiel, vous apprendrez :
- Qu'est-ce que la structure ?
- Qu'est-ce qu'Union
- Syntaxe de déclaration de la structure
- Exemple de structure en programmation C
- Syntaxe de déclaration d'union
- Exemple d'union en programmation C
- Structure vs. Union
- Avantages de la structure
- Avantages de l'union
- Inconvénients de la structure
- Inconvénients de l'union
Qu'est-ce que l'Union ?
Union est un type de données défini par l'utilisateur, tout comme une structure. Union combine des objets de différents types et tailles ensemble. La variable d'union alloue l'espace mémoire égal à l'espace pour contenir la plus grande variable d'union. Il permet à différents types d'objets de partager le même emplacement.
Syntaxe de déclaration de structure
struct [name of the structure] { type member1; type member2; type member3; };
La structure est déclarée à l'aide du mot-clé « struct » et du nom de la structure. Numéro 1, numéro 2, numéro 3 sont des membres individuels de la structure. La partie du corps se termine par un point-virgule (;).
Exemple de structure en programmation C
#include <stdio.h> struct student { char name[60]; int roll_no; float marks; } sdt; int main() { printf("Enter the following information:\n"); printf("Enter student name: "); fgets(sdt.name, sizeof(sdt.name), stdin); printf("Enter student roll number: "); scanf("%d", & sdt. roll_no); printf("Enter students marks: "); scanf("%f", & sdt.marks); printf("The information you have entered is: \n"); printf("Student name: "); printf("%s", sdt.name); printf("Student roll number: %d\n", sdt. roll_no); printf("Student marks: %.1f\n", sdt.marks); return 0; }
Dans le programme ci-dessus, une structure appelée étudiant est créée. Cette structure comporte trois membres de données :1) nom (chaîne), 2) roll_no (entier) et 3) marques (flottant).
Après cela, une variable de structure sdt est créée pour stocker les informations sur les étudiants et les afficher sur l'écran de l'ordinateur.
Sortie :
Saisissez les informations suivantes :
Entrez le nom de l'étudiant :James
Entrer le matricule étudiant :21
Entrer les notes des élèves :67
Les informations que vous avez saisies sont :
Nom de l'élève :Jean
Numéro de matricule :21
Notes des étudiants :67,0
Syntaxe de déclaration d'union
union [name of union] { type member1; type member2; type member3; };
L'union est déclarée à l'aide du mot-clé « union » et du nom de l'union. Numéro 1, numéro 2, numéro 3 sont des membres individuels du syndicat. La partie du corps se termine par un point-virgule (;).
Exemple d'union en programmation C
#include <stdio.h> union item { int x; float y; char ch; }; int main( ) { union item it; it.x = 12; it.y = 20.2; it.ch = 'a'; printf("%d\n", it.x); printf("%f\n", it.y); printf("%c\n", it.ch); return 0; }
Sortie :
1101109601
20.199892
un
Dans le programme ci-dessus, vous pouvez voir que les valeurs de x et y sont corrompues. Seule la variable ch imprime le résultat attendu. C'est parce que, dans l'union, l'emplacement de la mémoire est partagé entre tous les types de données membres.
Par conséquent, le seul membre de données dont la valeur est actuellement stockée occupera de l'espace mémoire. La valeur de la variable ch a été stockée en dernier, donc la valeur du reste des variables est perdue.
Structure contre. Syndicat
Voici la différence importante entre structure et union :
Structure Union Vous pouvez utiliser un mot-clé struct pour définir une structure.Vous pouvez utiliser un mot-clé union pour définir une union.Chaque membre de la structure se voit attribuer un emplacement mémoire unique.Dans union, un emplacement mémoire est partagé par tous les membres de données.Modification de la valeur d'un membre de données n'affectera pas les autres membres de données dans la structure. La modification de la valeur d'un membre de données modifiera la valeur des autres membres de données dans l'union. Cela vous permet d'initialiser plusieurs membres à la fois. Cela vous permet d'initialiser uniquement le premier membre de l'union.La taille totale de la structure est la somme de la taille de chaque membre de données.La taille totale de l'union est la taille du plus grand membre de données.Il est principalement utilisé pour stocker divers types de données.Il est principalement utilisé pour stocker l'un des nombreux types de données disponibles.Il occupe de l'espace pour chaque membre écrit dans les paramètres internes.Il occupe de l'espace pour un membre ayant la taille la plus élevée écrite dans les paramètres internes.Vous pouvez récupérer n'importe quel membre à la fois.Vous pouvez accéder à un membre er à la fois dans l'union. Il prend en charge le tableau flexible. Il ne prend pas en charge un tableau flexible.Avantages de structure
Voici les avantages/avantages de l'utilisation de la structure :
- Les structures rassemblent plusieurs données sur le même sujet au même endroit.
- C'est utile lorsque vous souhaitez rassembler les données de types de données et de paramètres similaires comme le prénom, le nom, etc.
- Il est très facile à gérer car nous pouvons représenter l'intégralité de l'enregistrement en utilisant un seul nom.
- Dans la structure, nous pouvons transmettre un ensemble complet d'enregistrements à n'importe quelle fonction à l'aide d'un seul paramètre.
- Vous pouvez utiliser un tableau de structure pour stocker plus d'enregistrements avec des types similaires.
Avantages de l'union
Voici les avantages/avantages de l'utilisation de l'union :
- Il occupe moins de mémoire par rapport à la structure.
- Lorsque vous utilisez union, seule la dernière variable est directement accessible.
- Union est utilisé lorsque vous devez utiliser le même emplacement mémoire pour deux membres de données ou plus.
- Cela vous permet de conserver les données d'un seul membre de données.
- Son espace alloué est égal à la taille maximale du membre de données.
Inconvénients de la structure
Voici les inconvénients/inconvénients de l'utilisation de la structure :
- Si la complexité d'un projet informatique dépasse les limites, il devient difficile à gérer.
- La modification d'une structure de données dans un code nécessite des modifications à de nombreux autres endroits. Par conséquent, les modifications deviennent difficiles à suivre.
- La structure est plus lente car elle nécessite de l'espace de stockage pour toutes les données.
- Vous pouvez récupérer n'importe quel membre à la fois dans la structure alors que vous ne pouvez accéder qu'à un membre à la fois dans le syndicat.
- La structure occupe de l'espace pour chaque membre écrit dans les paramètres internes tandis que l'union occupe de l'espace pour un membre ayant la taille la plus élevée écrite dans les paramètres internes.
- La structure prend en charge les tableaux flexibles. Union ne prend pas en charge un tableau flexible.
Inconvénients de l'union
Voici les inconvénients/inconvénients de l'utilisation de l'union :
- Vous ne pouvez utiliser qu'un seul membre du syndicat à la fois.
- Toutes les variables d'union ne peuvent pas être initialisées ou utilisées avec des valeurs variables à la fois.
- Union attribue un espace de stockage commun à tous ses membres.
DIFFÉRENCES CLÉS :
- Chaque membre de la structure se voit attribuer un emplacement de mémoire unique, tandis que dans l'union, un emplacement de mémoire est partagé par tous les membres de données.
- La modification de la valeur d'un membre de données n'affectera pas les autres membres de données dans la structure, tandis que la modification de la valeur d'un membre de données modifiera la valeur des autres membres de données dans l'union.
- La structure est principalement utilisée pour stocker divers types de données, tandis que l'union est principalement utilisée pour stocker l'un des nombreux types de données.
- En structure, vous pouvez récupérer n'importe quel membre à la fois par contre en union, vous pouvez accéder à un membre à la fois.
- La structure prend en charge les tableaux flexibles alors que l'union ne prend pas en charge les tableaux flexibles.
Langue C
- Différence entre l'amiante et la fibre de verre
- Différence entre structure et classe :expliquée avec un exemple C++
- C# vs. C++ :Quelle est la différence entre C# et C++ ?
- Différence entre C et C++
- Différence entre C et Java
- Différence entre strlen() et sizeof() pour la chaîne en C
- La différence entre les moteurs à courant continu et à courant alternatif
- Différence entre le brasage et le soudage
- Différence entre les moteurs 2 temps et 4 temps