Lenguaje C
En esta clase aprenderemos a crear y utilizar estructuras y arreglos de estructuras. También veremos las ventajas de utilizar arreglos de estructuras al momento de pasar un arreglo de estructuras a una función.
Introducción a la Clase
Vamos a recordar un poco lo que hemos visto a lo largo de este curso. Si tenemos una variable llamadaedad y almacenamos en ella el valor 18.
18
edad
Al asignarle a la variable edad un nuevo valor, por ejemplo, 20. ¿Qué pasará con el 18? Se pierde, porque ahora el valor de edad será 20.
Y si queríamos guardar la edad de todos los alumnos de este curso, sin perder algún valor ¿Qué utilizábamos?
Utilizábamos un vector con tantas posiciones como alumnos haya en el curso. Y en cadaposición del vector guardábamos una edad.
De acuerdo. Y si quisiéramos almacenar el nombre, la edad y la nota de un alumno ¿Cuántas variables necesitamos? Necesitaríamos tres variables:
nombre
edad
nota
Pues bien, si se trata de una variable tipo estructura, podremos almacenar los tres valores en una sola variable. Y será lo que vamos a ver a continuación.
Funciones
Cuerpo la ClaseUna estructura es un conjunto de una o más variables, posiblemente de diferente tipo, agrupadas bajo un mismo nombre para hacer más efectivo su manejo.
Podemos definir una variable tipo estructura llamada alumno que contenga los tres valores mencionados: alumno nombre edad nota
miembros Cada uno de los componentes de una estructura se denomina “miembros”, también se les conoce como “campos”.Para declarar la variable tipo estructura, llamada alumno, podemos proceder como se indica a continuación: struct reg { char nombre [ 30 ]; int edad; float nota; };
La palabra reservada struct indica al compilador que se está definiendo una estructura, que no es más que una lista de declaraciones encerradas entre llaves. El identificador reg es el nombre que le damos a la estructura. Lasvariables declaradas dentro de las llaves de la definición de la estructura son los miembros de la estructura. La definición de la estructura debe terminar con un punto y coma
Ahora bien. Con las instrucciones anteriores solo se ha hecho la definición de la estructura. Pero es bueno tener claro que la definición anterior no reserva espacio de memoria, es decir, no se ha declarado la variable, sinoque se ha generado un nuevo tipo de datos que se utilizará para declararla. ¿Cómo declarar entonces la estructura? Con la siguiente instrucción struct reg alumno;
Esta instrucción declara una variable llamada alumno del tipo struct reg
Sin embargo, las estructuras se definen a menudo utilizando la palabra reservada typedef a fin de crear nombres de tipos más breves. Por ejemplo:
Elaboradopor: .........................................................................................NEREYDA CARRERO MIRANDA
2
Funciones
typedef struct { char nombre[ 30 ]; int edad; float nota; } reg;
La definición anterior crea el tipo de estructura reg que puede ser utilizado para declarar estructuras de este tipo. La declaración: reg alumno; Declara una variable llamada alumno que es unaestructura tipo reg
Ahora ¿Cómo acceder los miembros de una estructura? Para acceder los miembros de una estructura se utiliza el operador punto. Este operador permite el acceso a un miembro de la estructura mediante el nombre de la variable estructura y el nombre del miembro de la estructura. Por ejemplo, para imprimir el nombre de la estructura alumno de la
declaración anterior, lainstrucción sería: printf(“El nombre del alumno es: %s”, alumno.nombre);
Encontraremos algunos casos en que un miembro de la estructura es a su vez otra estructura. Por ejemplo: Vamos a asumir que tenemos un campo para la fecha de ingreso a la universidad, con día, mes y año: alumno nombre edad nota d fecha_ingreso m a
La declaración de la variable alumno será: typedef struct { int d, m, a;...
Regístrate para leer el documento completo.