Un tableau est une données structurée prise en charge par la langue C. Un tableau peut être utilisé pour stocker des éléments de données du même type. S'il y a une déclaration en tant que marques int [10]; Ensuite, les marques sont un tableau qui peut stocker dix marques et tous sont des entiers. Parfois, il est nécessaire de stocker des éléments de données de différents types dans le même emplacement de mémoire. Par exemple, un employé peut avoir une carte d'identité, un nom, un département, un âge, etc. Ils sont de différents types de données. Par conséquent, il est nécessaire d'avoir une méthode pour stocker divers éléments de données en tant qu'unité. Les structures et les syndicats en C sont utilisés pour stocker des éléments de données de différents types dans le même emplacement de mémoire.Une structure et un syndicat sont similaires, mais ils se différencient principalement en raison de l'allocation de la mémoire. La mémoire requise pour stocker une variable de structure est la sommation de la taille de la mémoire de tous les membres. La mémoire requise pour stocker une variable syndicale est la mémoire requise pour le plus grand élément de l'Union. C'est la différence clé entre la structure et l'union en c. Cet article traite de la différence entre la structure et l'union en C.
1. Aperçu et différence clé
2. Quelle est la structure en C
3. Qu'est-ce que l'union en C
4. Similitudes entre la structure et l'union en C
5. Comparaison côte à côte - Structure vs union en C sous forme tabulaire
6. Résumé
Une structure est un type de données défini par l'utilisateur en C. Il aide à combiner des éléments de données de différents types. Une structure peut représenter les enregistrements. Un étudiant peut avoir Student_id, Student_name, etc. Plutôt que de stocker chaque variable séparément, tous ces différents éléments de données peuvent être compacts en une seule unité à l'aide d'une structure. Il est défini en utilisant le mot-clé 'struct'. Dans une structure, tous ses membres sont accessibles à tout moment.Ce qui suit crée un étudiant de type de type de données dérivé.
Struct Student
INTSTUDENT_ID;
char Student_name [20];
;
Pour la structure ci-dessus, les variables peuvent être déclarées comme suit.
Struct Student Student1, Student2, Student3;
Il existe deux méthodes pour accéder aux membres de la structure. C'est en utilisant l'opérateur membre (.) et l'opérateur de pointeur de structure (->). Les membres sont accessibles à l'aide de structure_variable_name. nom de membre. Si le programmeur veut accéder au nom de l'étudiant 2, alors il peut écrire la déclaration comme printf (Student2.Student_NameName);
Référer le programme ci-dessous avec une structure.
Figure 01: CHORAGE C AVEC LES STRUCTURES
Selon le programme ci-dessus, l'étudiant est une structure. Il contient Student_id et Student_name. Deux variables de type de structure sont déclarées dans le programme principal. Ils s'appellent Student1 et Student2. L'ID de Student1 est attribué à la valeur 1 en utilisant l'opérateur membre comme étudiant1.Student_id = 1. Le nom «Ann» est une chaîne. Par conséquent, il est copié sur le membre Student_name à l'aide de la fonction de copie de chaîne Strcpy. L'identification et le nom sont affectés à Student2 de la même manière. Enfin, ces valeurs sont imprimées à l'aide de l'opérateur membre.
La quantité de mémoire requise pour stocker une variable de structure est la somme de la taille de la mémoire de tous les membres. L'étudiant_id contient 4 octets et Student_name contient 20 octets (un octet chacun pour un personnage). Le total de 24 octets est la somme de la taille de la mémoire requise par la structure.
Une union est un type de données défini par l'utilisateur en C. Il aide à stocker différents types de données dans le même emplacement de mémoire. Un livre peut avoir des propriétés telles que book_name, prix, etc. Au lieu de créer des variables pour chacun d'eux, une union peut être utilisée pour compacter tous les différents types de données en une seule unité à l'aide d'une union. Il est défini en utilisant le mot-clé «Union».Ce qui suit crée un livre d'union de données dérivé.
Unionbook
Nom de char [20];
double prix;
;
Pour l'union ci-dessus, les variables peuvent être déclarées comme suit.
Union Book Book1, Book2;
Il existe deux méthodes pour accéder aux membres du syndicat. C'est en utilisant l'opérateur membre (.) et l'opérateur de pointeur de structure (->). Les membres sont accessibles en utilisant Union_Variable_name. nom de membre. Si le programmeur veut accéder au nom du livre1, alors il peut écrire la déclaration comme printf (Book1.nom);
Référer le programme ci-dessous avec un syndicat.
Figure 02: programme C utilisant Union
Selon le programme ci-dessus, le livre est un syndicat. Le livre1 est une variable de l'union de type. Le nom et le prix sont attribués des valeurs. Dans l'Union, un seul de ses membres est accessible à la fois et tous les autres membres auront des valeurs de déchets. La valeur de l'ID ne s'imprime pas correctement mais la valeur de prix imprime correctement.
Figure 03: Programme C modifié avec l'union
Selon le programme ci-dessus, le livre est un syndicat. Les Book1 et Book2 sont des variables de type Union. Tout d'abord, la valeur du nom de livre1 est attribuée et il est imprimé. Ensuite, la valeur du nom Book2 est attribuée et il est imprimé. Tous les membres impriment correctement parce qu'un membre est utilisé à la fois. La mémoire requise pour stocker un syndicat est la mémoire requise pour le plus grand élément de l'Union. Dans le programme ci-dessus, la variable de nom est de 20 octets. C'est plus grand que le prix. Ainsi, l'allocation de mémoire pour l'Union est de 20 octets.
Structure vs union en c | |
La structure est un type de données défini par l'utilisateur dans le langage C qui permet de combiner des données de différents types ensemble. | Union est un type de données défini par l'utilisateur dans le langage C qui permet de combiner des données de différents types ensemble. |
Accessibilité | |
Dans une structure, tous ses membres sont accessibles à tout moment. | Dans un syndicat, un seul de ses membres est accessible à la fois et tous les autres membres contiendront des valeurs de déchets. |
Allocation de mémoire | |
La mémoire requise pour stocker une variable de structure est la sommation de la taille de la mémoire de tous les membres. | La mémoire requise pour stocker une variable syndicale est la mémoire requise pour le plus grand élément de l'Union. |
Mot-clé | |
Le mot-clé utilisé pour définir une structure est «structure». | Le mot-clé utilisé pour définir un syndicat est «union». |
Un tableau est utilisé pour stocker les éléments de données du même type. Parfois, il est nécessaire de stocker des éléments de données de différents types dans le même emplacement de mémoire. C Le langage de programmation fournit une structure et un syndicat pour accomplir cette tâche. Les deux sont des types de données définies par l'utilisateur. La mémoire requise pour stocker une variable de structure est la sommation de la taille de la mémoire de tous les membres. La mémoire requise pour stocker une variable syndicale est la mémoire requise pour le plus grand élément de l'Union. C'est la différence entre la structure et l'union en C.
1.Point, tutoriels. «Structures en C.», Tutorials Point, 15 août. 2017. Disponible ici
2.Point, tutoriels. «Unions en C." , Point de tutoriels, 15 août. 2017. Disponible ici