Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Diferencia entre estructura y unión.

¿Qué es la estructura?

La estructura es un tipo de datos definido por el usuario en el lenguaje de programación C que combina elementos de datos relacionados lógicamente de diferentes tipos de datos.

Todos los elementos de la estructura se almacenan en ubicaciones de memoria contiguas. La variable de tipo de estructura puede almacenar más de un elemento de datos de diferentes tipos de datos bajo un nombre.

En este tutorial, aprenderá:

Qué es Unión

Union es un tipo de datos definido por el usuario, al igual que una estructura. Unión combina objetos de diferentes tipos y tamaños juntos. La variable de unión asigna el espacio de memoria igual al espacio para contener la variable de unión más grande. Permite que diferentes tipos de objetos compartan la misma ubicación.

Sintaxis de declaración de estructura

struct [name of the structure]
   {
       type member1;
       type member2;
       type member3;
   };

La estructura se declara utilizando la palabra clave "struct" y el nombre de la estructura. Número 1, número 2, número 3 son miembros individuales de la estructura. La parte del cuerpo termina con un punto y coma (;).

Ejemplo de Estructura en Programación 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;
}

En el programa anterior, se crea una estructura llamada estudiante. Esta estructura tiene tres miembros de datos:1) nombre (cadena), 2) roll_no (entero) y 3) marcas (flotante).

Después de esto, se crea una variable de estructura sdt para almacenar la información del estudiante y mostrarla en la pantalla de la computadora.

Salida:

Ingrese la siguiente información:

Ingrese el nombre del estudiante:James

Ingrese el número de registro del estudiante:21

Ingrese las calificaciones de los estudiantes:67

La información que ha ingresado es:

Nombre del estudiante:Juan

Número de lista de estudiantes:21

Notas de los estudiantes:67,0

Sintaxis de declaración de unión

union [name of union]
    {
       type member1;
       type member2;
       type member3;
    };

El sindicato se declara utilizando la palabra clave "union" y el nombre del sindicato. Número 1, número 2, número 3 son miembros individuales del sindicato. La parte del cuerpo termina con un punto y coma (;).

Ejemplo de Unión en Programación 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;
}

Salida:

1101109601

20.199892

un

En el programa anterior, puede ver que los valores de x e y se corrompen. Solo la variable ch imprime el resultado esperado. Es porque, en conjunto, la ubicación de la memoria se comparte entre todos los tipos de datos de miembros.

Por lo tanto, el único miembro de datos cuyo valor está actualmente almacenado ocupará espacio en la memoria. El valor de la variable ch se almacenó por fin, por lo que se pierde el valor del resto de variables.

Estructura vs. Unión

Aquí está la diferencia importante entre estructura y unión:

Estructura Unión Puede usar una palabra clave struct para definir una estructura. Puede usar una palabra clave union para definir una unión. A cada miembro dentro de la estructura se le asigna una ubicación de memoria única. En unión, todos los miembros de datos comparten una ubicación de memoria. Cambio del valor de un miembro de datos no afectará a otros miembros de datos en la estructura. Cambiar el valor de un miembro de datos cambiará el valor de otros miembros de datos en unión. Le permite inicializar varios miembros a la vez. Le permite inicializar solo el primer miembro de unión. El tamaño total de la estructura es la suma del tamaño de cada miembro de datos. El tamaño total de la unión es el tamaño del miembro de datos más grande. Se utiliza principalmente para almacenar varios tipos de datos. Se utiliza principalmente para almacena uno de los muchos tipos de datos disponibles. Ocupa espacio para todos y cada uno de los miembros escritos en parámetros internos. Ocupa espacio para un miembro que tiene el tamaño más alto escrito en parámetros internos. Puede recuperar cualquier miembro a la vez. acceder a un miembro er a la vez en la unión. Admite matriz flexible. No admite una matriz flexible.

Ventajas de la estructura

Estos son los pros/beneficios de usar la estructura:

Ventajas de la unión

Estos son los pros/beneficios de usar union:

Desventajas de la estructura

Aquí hay contras/inconvenientes para usar la estructura:

Desventajas de la unión

Aquí están las desventajas/inconvenientes de usar union:

DIFERENCIAS CLAVE:


Lenguaje C

  1. Diferencia entre asbesto y fibra de vidrio
  2. Diferencia entre estructura y clase:explicada con el ejemplo de C++
  3. C# vs. C++:¿Cuál es la diferencia entre C# y C++?
  4. Diferencia entre C y C++
  5. Diferencia entre C y Java
  6. Diferencia entre strlen() y sizeof() para cadena en C
  7. Python vs JavaScript:diferencia entre JavaScript y Python
  8. Python Vs Ruby:Diferencia entre Ruby y Python
  9. La diferencia entre motores de CC y CA
  10. Diferencia entre soldadura fuerte y soldadura blanda.
  11. Diferencia entre motores de 2 tiempos y 4 tiempos