Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

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 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 :

Avantages de l'union

Voici les avantages/avantages de l'utilisation de l'union :

Inconvénients de la structure

Voici les inconvénients/inconvénients de l'utilisation de la structure :

Inconvénients de l'union

Voici les inconvénients/inconvénients de l'utilisation de l'union :

DIFFÉRENCES CLÉS :


Langue C

  1. Différence entre l'amiante et la fibre de verre
  2. Différence entre structure et classe :expliquée avec un exemple C++
  3. C# vs. C++ :Quelle est la différence entre C# et C++ ?
  4. Différence entre C et C++
  5. Différence entre C et Java
  6. Différence entre strlen() et sizeof() pour la chaîne en C
  7. La différence entre les moteurs à courant continu et à courant alternatif
  8. Différence entre le brasage et le soudage
  9. Différence entre les moteurs 2 temps et 4 temps