58. C++ || Estructuras ¿qué es?




Anteriormente habíamos visto los arrays, que eran un estructura de datos que almacenaban una cantidad de elementos pero, como debemos recordar, todos del mismo tipo. Esto crea una gran limitación al programador porque claro, si lo que queremos es registrar es una lista de temperaturas, un array de números reales iría bien para este trabajo, pero a la hora de recaudar información de una lista de clientes que contenga campos como el nombre, apellido, edad, número de identificación, dirección, número de teléfono, etc, los arrays pierden todo el encanto. Para solucionar este problema utilizamos un tipo de dato estructura.

Las estructuras las podemos ver como una gran caja en la cual se ingresa diferentes “objetos” (podría decir cualquier otra cosa, como por ejemplo, juguetes. No confundan el termino “objetos” con conceptos más avanzados en la Programación Orientada a Objetos), esos objetos se conocen como miembros, y pueden ser de cualquier tipo de dato en C++.

Vamos a aclarar mejor las cosas, supongamos que tenemos una tienda de libros, y tras cada compra, registramos los datos del comprador: nombre, apellido, edad, número de identificación, dirección, número de teléfono. Esos datos son ingresados en una estructura y así poder registrar a cada cliente. La caja que había mencionado antes, la podemos ver como la estructura y en este caso, los “objetos”, son esos campos de cada comprador. Esto es lo que nos permite una estructura, introducir diferentes tipos de objetos en un solo objeto y de esta forma crear un nuevo tipo de dato. Por ejemplo:

Estructura{
Aquí podríamos incluir todos esos objetos, ¿y cuáles son? Pues, los tipo de datos que necesitamos para registrar el cliente. ¿Y cuáles son esos tipos de datos? Bueno, debemos pensar que para el nombre tenemos que usar una variable tipo char, lo mismo pasa con el apellido y la dirección. Además de eso también incluiríamos una variable de tipo int para la edad, el número de identificación y el número de teléfono.
}

Con esto podríamos dar por concluido todos los datos que vamos a ingresar en la caja (estructura), ahora, nuestra caja representa un nuevo tipo de dato. Siempre han existido los datos de tipo int, char, float, etc, pero ahora, tenemos uno nuevo llamado caja, y ya sabes qué contiene esa “caja”.

De manera más técnica, los “objetos” que entran en esa “caja” se conocen como miembros y pueden ser de cualquier tipo de dato, bien sea uno estándar de C++, o incluso un tipo de dato creado por el usuario con una estructura o una clase. Pueden haber tantos miembros como sean necesarios y cada uno puede ser diferente, o igual que otro. Una estructura en C++ del ejemplo anterior sería la siguiente:


struct Cliente{
 char  nombre[20];
 char apellido[20];
 char direccion[30];
 int edad,num_Identificacion,telefono;
}

Si hacemos esto, C++ reconocerá el nombre “Cliente” como un nuevo tipo de dato que contiene dentro de él todos los miembros que se muestran. Las sentencias siguientes son totalmente válidas:

Cliente persona;
int i;
float salario;

//persona es un tipo de dato Cliente
//i es un tipo de dato entero
//salario es un tipo de dato real

No hay comentarios