En este artículo, discutiremos estructuras, uniones y enumeraciones y sus diferencias.
- La estructura es un tipo de datos definido por el usuario que está disponible en C++ .
- Las estructuras se usan para combinar diferentes tipos de tipos de datos, al igual que una array se usa para combinar el mismo tipo de tipos de datos.
- Una estructura se declara usando la palabra clave » struct «. Cuando declaramos una variable de la estructura necesitamos escribir la palabra clave “ struct en lenguaje C pero para C++ la palabra clave no es obligatoria
Sintaxis:
struct { // Declaration of the struct }
A continuación se muestra el programa C++ para demostrar el uso de struct:
C++
// C++ program to demonstrate the // making of structure #include <bits/stdc++.h> using namespace std; // Define structure struct GFG { int G1; char G2; float G3; }; // Driver Code int main() { // Declaring a Structure struct GFG Geek; Geek.G1 = 85; Geek.G2 = 'G'; Geek.G3 = 989.45; cout << "The value is : " << Geek.G1 << endl; cout << "The value is : " << Geek.G2 << endl; cout << "The value is : " << Geek.G3 << endl; return 0; }
The value is : 85 The value is : G The value is : 989.45
Explicación: En el código anterior, se asignan valores a los campos (G1, G2, G3) de la estructura empleado y al final se imprime el valor de “salario”.
Estructura usando typedef : typedef es una palabra clave que se usa para asignar un nuevo nombre a cualquier tipo de datos existente. A continuación se muestra el programa C++ que ilustra el uso de struct usando typedef :
C++
// C++ program to demonstrate the use // of struct using typedef #include <bits/stdc++.h> using namespace std; // Declaration of typedef typedef struct GeekForGeeks { int G1; char G2; float G3; } GFG; // Driver Code int main() { GFG Geek; Geek.G1 = 85; Geek.G2 = 'G'; Geek.G3 = 989.45; cout << "The value is : " << Geek.G1 << endl; cout << "The value is : " << Geek.G2 << endl; cout << "The value is : " << Geek.G3 << endl; return 0; }
The value is : 85 The value is : G The value is : 989.45
Explicación:
- En el código anterior, la palabra clave “ typedef ” se usa antes de struct y después del paréntesis de cierre de estructura, se escribe “ GFG ”.
- Ahora cree variables de estructura sin usar la palabra clave » struct » y el nombre de la estructura.
- Se ha creado una instancia de estructura llamada «Geek» simplemente escribiendo » GFG » antes.
Uniones : una unión es un tipo de estructura que se puede usar donde la cantidad de memoria utilizada es un factor clave.
- De manera similar a la estructura, la unión puede contener diferentes tipos de tipos de datos.
- Cada vez que se inicializa una nueva variable desde la unión, sobrescribe la anterior en lenguaje C, pero en C++ tampoco necesitamos esta palabra clave y usamos esa ubicación de memoria.
- Esto es más útil cuando se desconoce el tipo de datos que se pasan a través de las funciones ; el uso de una unión que contenga todos los tipos de datos posibles puede solucionar este problema.
- Se declara utilizando la palabra clave “ unión ”.
A continuación se muestra el programa C++ que ilustra la implementación de la unión:
C++
// C++ program to illustrate the use // of the unions #include <iostream> using namespace std; // Defining a Union union GFG { int Geek1; char Geek2; float Geek3; }; // Driver Code int main() { // Initializing Union union GFG G1, G2, G3; G1.Geek1 = 34; G2.Geek2 = 34; G3.Geek3 = 34.34; // Printing values cout << "The first value at " << "the allocated memory : " << G1.Geek1 << endl; cout << "The next value stored " << "after removing the " << "previous value : " << G2.Geek2 << endl; cout << "The Final value value " << "at the same allocated " << "memory space : " << G3.Geek3 << endl; return 0; }
The first value at the allocated memory : 34 The next value stored after removing the previous value : " The Final value value at the same allocated memory space : 34.34
Explicación: En el código anterior, a la variable Geek2 se le asigna un número entero (34). Pero al ser de tipo char, el valor se transforma mediante coerción en su equivalente char (“). Este resultado se muestra correctamente en la sección Salida.
Enumeraciones : las enumeraciones son tipos definidos por el usuario que consisten en constantes integrales con nombre.
- Ayuda a asignar constantes a un conjunto de nombres para que el programa sea más fácil de leer, mantener y comprender.
- Una enumeración se declara utilizando la palabra clave » enum «.
A continuación se muestra el programa C++ que ilustra el uso de enum:
C++
// C++ program to illustrate the use // of the Enums #include <bits/stdc++.h> using namespace std; // Defining an enum enum GeeksforGeeks { Geek1, Geek2, Geek3 }; GeeksforGeeks G1 = Geek1; GeeksforGeeks G2 = Geek2; GeeksforGeeks G3 = Geek3; // Driver Code int main() { cout << "The numerical value " << "assigned to Geek1 : " << G1 << endl; cout << "The numerical value " << "assigned to Geek2 : " << G2 << endl; cout << "The numerical value " << "assigned to Geek3 : " << G3 << endl; return 0; }
The numerical value assigned to Geek1 : 0 The numerical value assigned to Geek2 : 1 The numerical value assigned to Geek3 : 2
Explicación: en el código anterior, las constantes nombradas como Geek1, Geek2 y Geek3 tienen valores integrales asignados como 0, 1, 2 respectivamente mientras se proporciona la salida.
Publicación traducida automáticamente
Artículo escrito por analystayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA