C++ Estructura con ejemplo
โก Resumen inteligente
Estructura en C++ Es un tipo de datos definido por el usuario que agrupa elementos de diferentes tipos de datos bajo un mismo nombre, lo que permite que una variable contenga valores relacionados, como el nombre de una persona, su nacionalidad y su edad.

ยฟQuรฉ es una estructura en C++?
Una ESTRUCTURA es una C++ Estructura de datos que se puede utilizar para almacenar juntos elementos de diferentes tipos de datos. En C++, una estructura es un tipo de datos definido por el usuario. La estructura crea un tipo de datos para grupos.ping elementos de diferentes tipos de datos bajo un รบnico tipo de datos.
Por ejemplo:
Supongamos que necesita almacenar informaciรณn sobre alguien, su nombre, ciudadanรญa y edad. Puede crear variables como nombre, ciudadanรญa y edad para almacenar los datos por separado.
Sin embargo, es posible que en el futuro necesites almacenar informaciรณn sobre muchas personas. Esto implica la creaciรณn de variables para diferentes individuos. Por ejemplo, nombre1, ciudadanรญa1, edad1, etc. Para evitar esto, es mejor crear una estructura.
ยฟCuรกndo utilizar una Estructura?
Aquรญ hay algunas razones para usar la estructura en C++.
- Utilice una estructura cuando necesite almacenar elementos de diferentes tipos de datos en un mismo tipo de datos.
- C++ Las estructuras son un tipo de valor en lugar de un tipo de referencia. Utilice una estructura si no tiene intenciรณn de modificar sus datos despuรฉs de la creaciรณn.
C++ Inicializaciรณn de estructura
Para crear un C++ estructura, utilizamos la palabra clave struct, seguida de un identificador. El identificador se convierte en el nombre de la estructura. Aquรญ estรก la sintaxis para la creaciรณn de un C++ estructura:
Sintaxis:
struct struct_name { // struct members }
En la sintaxis anterior, hemos utilizado la palabra clave struct. struct_name es el nombre de la estructura.
Los miembros de la estructura se agregan entre llaves. Estos miembros probablemente pertenecen a diferentes tipos de datos.
Por ejemplo:
struct Person { char name[30]; int citizenship; int age; }
En el ejemplo anterior, Persona es una estructura con tres miembros. Los miembros incluyen nombre, ciudadanรญa y edad. Un miembro es del tipo de datos char, mientras que los 2 restantes son nรบmeros enteros cuando se crea una estructura, no se asigna memoria. La memoria solo se asigna despuรฉs de que se agrega una variable a la estructura.
Crear instancias de estructura
En el ejemplo anterior, hemos creado una estructura llamada Persona. Podemos crear una variable de estructura de la siguiente manera:
Person p;
La p es una variable de estructura de tipo Persona. Podemos usar esta variable para acceder a los miembros de la estructura.
Accediendo a los miembros de la estructura
Para acceder a los miembros de la estructura, utilizamos la instancia de la estructura y el operador punto (.). Por ejemplo, para acceder al miembro age de la estructura Person:
p.age = 27;
Hemos accedido a la edad del miembro de la estructura Persona utilizando la instancia de la estructura, p. Luego hemos establecido el valor de la edad del miembro en 27.
Ejemplo 1:
#include <iostream> using namespace std; struct Person { int citizenship; int age; }; int main(void) { struct Person p; p.citizenship = 1; p.age = 27; cout << "Person citizenship: " << p.citizenship << endl; cout << "Person age: " << p.age << endl; return 0; }
Salida:
Aquรญ hay una captura de pantalla del cรณdigo:
Code Explicaciรณn:
- Incluya el archivo de encabezado iostream en nuestro programa para usar las funciones definidas en รฉl.
- Incluya el espacio de nombres estรกndar para usar sus clases sin llamarlo.
- Crea una estructura llamada Persona.
- El comienzo del cuerpo de la estructura.
- Cree un miembro de estructura denominado ciudadanรญa de tipo entero.
- Cree un miembro de estructura llamado edad de tipo entero.
- Fin del cuerpo de la estructura.
- Llame a la funciรณn principal(). La lรณgica del programa debe agregarse dentro del cuerpo de esta funciรณn.
- Cree una instancia de la estructura Persona y asรญgnele el nombre p.
- Establezca el valor de ciudadanรญa del miembro de estructura en 1.
- Establezca el valor de la edad del miembro de la estructura en 27.
- Imprima el valor de la ciudadanรญa del miembro de la estructura en la consola junto con algรบn otro texto.
- Imprima el valor de la edad del miembro de la estructura en la consola junto con otro texto.
- El programa deberรญa devolver un valor si se ejecuta correctamente.
- Fin de la funciรณn main().
Consejos para la estructura
Es posible crear un puntero que apunte a una estructura. Es similar a cรณmo se crean los punteros que apuntan a tipos de datos nativos como int, float, double, etc. Tenga en cuenta que un puntero en C++ almacenarรก una ubicaciรณn de memoria.
Ejemplo 2:
#include <iostream> using namespace std; struct Length { int meters; float centimeters; }; int main() { Length *ptr, l; ptr = &l; cout << "Enter meters: "; cin >> (*ptr).meters; cout << "Enter centimeters: "; cin >> (*ptr).centimeters; cout << "Length = " << (*ptr).meters << " meters " << (*ptr).centimeters << " centimeters"; return 0; }
Salida:
Aquรญ hay una captura de pantalla del cรณdigo:
Code Explicaciรณn:
- Incluya el archivo de encabezado iostream en nuestro programa para poder utilizar sus funciones.
- Incluya el espacio de nombres estรกndar en nuestro programa para usar sus clases sin llamarlo.
- Cree una estructura llamada Longitud.
- Inicio del cuerpo de la estructura Longitud.
- Cree un miembro de estructura llamado metros de tipo de datos entero.
- Cree un miembro de estructura llamado centรญmetros de tipo entero.
- Fin del cuerpo de la estructura Longitud.
- Llame a la funciรณn principal().
- Inicio del cuerpo de la funciรณn main().
- Cree una variable de puntero *ptr y una variable normal l de tipo Longitud.
- Almacene la direcciรณn de la variable l en nuestro variable de puntero.
- Muestra un mensaje en la consola, solicitando al usuario que ingrese el valor de los medidores variables.
- Leer el valor ingresado por el usuario a travรฉs del teclado. Aquรญ se accede a los medidores de funciones miembro mediante la variable de puntero.
- Mostrar un mensaje en la consola, solicitando al usuario que ingrese el valor de la variable centรญmetros.
- Leer el valor ingresado por el usuario a travรฉs del teclado. Aquรญ se accede a la funciรณn miembro centรญmetros mediante la variable de puntero.
- Muestra los valores leรญdos del usuario en la consola junto con algรบn otro texto.
- El programa debe devolver un valor tras una ejecuciรณn exitosa.
- Fin del cuerpo de la funciรณn main().
Estructura como argumento de funciรณn
Puedes pasar una estructura a una funciรณn como argumento. Esto se hace de la misma manera que se pasa un argumento normal. Las variables de estructura tambiรฉn se pueden pasar a una funciรณn. Un buen ejemplo es cuando necesita mostrar los valores de los miembros de la estructura. Demostremos esto:
Ejemplo 3:
#include<iostream> using namespace std; struct Person { int citizenship; int age; }; void func(struct Person p); int main() { struct Person p; p.citizenship = 1; p.age = 27; func(p); return 0; } void func(struct Person p) { cout << " Person citizenship: " << p.citizenship<<endl; cout << " Person age: " << p.age; }
Salida:
Aquรญ hay una captura de pantalla del cรณdigo:
Code Explicaciรณn:
- Incluya el archivo de encabezado iostream en nuestro archivo. Luego usaremos sus funciones sin obtener errores.
- Incluya el espacio de nombres estรกndar en nuestro programa para usar sus clases. No necesitaremos llamar al espacio de nombres para usar sus clases.
- Crea una estructura llamada Persona.
- Inicio del cuerpo de la estructura Persona.
- Crea un miembro de la estructura Persona. El miembro se denomina ciudadanรญa y es de tipo entero.
- Crea un miembro de la estructura Persona. El miembro se llama edad y es de tipo entero.
- Fin del cuerpo de la estructura Persona.
- Cree una funciรณn que tome la instancia de struct Person, p, como argumento.
- Llame a la funciรณn principal. El { marca el comienzo del cuerpo de la funciรณn main().
- Cree una instancia de struct Person y asรญgnele el nombre p.
- Acceda a la variable miembro de la estructura ciudadanรญa utilizando la instancia de la estructura, p, y asignรกndole el valor 1.
- Acceda a la variable miembro de la estructura edad usando la instancia de la estructura, p, y asignรกndole el valor 27.
- Llame a la funciรณn y pรกsele la instancia de la estructura Persona, p, como argumento.
- La funciรณn debe devolver un valor tras una ejecuciรณn exitosa.
- Fin del cuerpo de la funciรณn main().
- Crea el cuerpo de la funciรณn.
- El inicio del cuerpo de la funciรณn.
- Acceda al valor de ciudadanรญa del miembro de la estructura e imprรญmalo en la consola junto con otro texto.
- Acceda al valor de edad del miembro de la estructura e imprรญmalo en la consola junto con otro texto.
- Fin del cuerpo de la funciรณn.
Limitaciรณn de un C++ estructura
Las limitaciones de las estructuras son las siguientes:
- El tipo de datos de estructura no se puede tratar como tipos de datos integrados.
- Operators como + -, y otros no se pueden utilizar en variables de estructura.
- Las estructuras no admiten la ocultaciรณn de datos. Cualquier funciรณn puede acceder a los miembros de una estructura independientemente de su alcance.
- Los miembros estรกticos no se pueden declarar dentro del cuerpo de la estructura.
- No se pueden crear constructores dentro de una estructura.



