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 dans 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 tutoriel, vous apprendrez:
- Qu'est-ce que la structure?
- Qu'est-ce que l'Union
- Syntaxe de la structure de déclaration
- Exemple de structure en programmation C
- Syntaxe de la déclaration d'union
- Exemple d'union dans la programmation C
- Structure contre. syndicat
- 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. La variable 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 la structure de déclaration
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. Le numéro 1, le numéro 2, le 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
#includestruct 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 a trois membres de données: 1) nom (chaîne), 2) roll_no (entier) et 3) marques (float).
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.
Production:
Entrez les informations suivantes:
Entrez le nom de l'élève: James
Entrez le numéro de liste de l'élève: 21
Inscrire les notes des élèves: 67
Les informations que vous avez saisies sont:
Nom de l'étudiant: John
Numéro de rôle étudiant: 21
Notes des élèves: 67,0
Syntaxe de la 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. Les numéros 1, 2 et 3 sont des membres individuels du syndicat. La partie du corps se termine par un point-virgule (;).
Exemple d'union dans la programmation C
#includeunion 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;}
Production:
1101109601
20.199892
une
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 enfin été stockée, donc la valeur du reste des variables est perdue.
Structure contre. syndicat
Voici la différence importante entre la structure et l'union:
Structure | syndicat |
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 l'union, un emplacement 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. | La modification de la valeur d'un membre de données changera la valeur des autres membres de données dans l'union. |
Il vous permet d'initialiser plusieurs membres à la fois. | Il 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 correspond à 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 en 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 à la fois dans le syndicat. |
Il prend en charge un tableau flexible. | Il ne prend pas en charge une matrice flexible. |
Avantages de la 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.
- Il est utile lorsque vous souhaitez collecter des données de types de données et de paramètres similaires tels que le prénom, le nom de famille, etc.
- Il est très facile à maintenir car nous pouvons représenter l'ensemble de l'enregistrement en utilisant un seul nom.
- Dans la structure, nous pouvons passer un ensemble complet d'enregistrements à n'importe quelle fonction en utilisant 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 que la structure.
- Lorsque vous utilisez union, seule la dernière variable est accessible directement.
- L'union est utilisée lorsque vous devez utiliser le même emplacement de mémoire pour deux membres de données ou plus.
- Il 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é du projet informatique dépasse les limites, il devient difficile à gérer.
- Le changement d'une structure de données dans un code nécessite des changements à de nombreux autres endroits. Par conséquent, les changements deviennent difficiles à suivre.
- La structure est plus lente car elle nécessite un 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 pouvez accéder à un membre à la fois dans l'union.
- La structure occupe de l'espace pour chaque membre écrit dans les paramètres internes tandis que l'union occupe l'espace pour un membre ayant la taille la plus élevée écrite dans les paramètres internes.
- La structure prend en charge un tableau flexible. Union ne prend pas en charge une matrice 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 changera 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.
- Dans la 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 la matrice flexible tandis que l'union ne prend pas en charge une matrice flexible.