¿Que es una estructura?

Solo disponible en BuenasTareas
  • Páginas : 6 (1433 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de febrero de 2011
Leer documento completo
Vista previa del texto
¿Qué es una estructura?

Una estructura es un tipo de dato definido por el usuario, al utilizar una estructura Usted tiene la habilidad para definir un nuevo tipo de dato considerablemente más complejo que los tipos que hemos utilizado hasta ahora. Una estructura es una combinación de varios tipos de datos previamente definidos, incluyendo otras estructuras que hayamos definido previamente. Unadefinición simple es, "una estructura es un grupo de datos relacionados en una forma conveniente al programador y/o al usuario del programa". Como es costumbre, un ejemplo nos clarifica los conceptos:

#include

typedef struct {

char inicial; /* Letra inicial del apellido */
int edad; /* Edad */
int calificacion; /* Aprovechamiento */

}Estudiante;

Estudiante chico, chica;

Voidmain() {

chico.inicial = 'R';
chico.edad = 15;
chico.calificacion = 75;
chica.edad = chico.edad - 1; /* Ella es un año menor que él */
chica.calificacion = 82;
chica.inicial = 'H';
printf("%c tiene %d anos y su calificacion es de %dn",
chica.inicial, chica.edad, chica.calificacion);
printf("%c tiene %d anos y su calificacion es de %dn",
chico.inicial, chico.edad, chico.calificacion);}

El programa empieza definiendo una estructura utilizando las palabras claves typedef struct seguida de tres variables sencillas encerradas entre llaves, las cuales son los componentes de la estructura, después de la llave de cierre tenemos el nombre del nuevo tipo de dato. Después se definen dos variables llamadas chico y chica. De acuerdo a la definición de una estructura, chico es unavariable compuesta de tres elementos, inicial, edad y, calificacion. Cada uno de los tres campos están asociados a chico y cada uno almacena una variable de su respectivo tipo, lo mismo se puede decir para chica pero sus variables son diferentes por lo tanto tenemos 6 variables agrupadas en dos, de tipo struct.

Una variable compuesta

Examinemos la variable llamada chico más cercanamente, como yamencionamos, cada uno de los tres elementos de chico son simples variables y pueden ser utilizadas como cualquier otra, por ejemplo, el elemento edad es una variable de tipo int que puede ser utilizada en cálculos, como contador, en operaciones de entrada y salida, etc. Tenemos ahora el problema de definir cómo usar la variable llamada edad que es parte de la variable compuesta llamada chico,para esto utilizamos ambos nombres separados por un punto decimal con el nombre principal en primer término, entonces, chico.edad es el nombre completo para el campo edad de chico, este enunciado puede utilizarse en cualquier parte del programa C si deseamos referirnos a éste campo. De hecho, es ilegal utilizar el nombre chico ó edad individualmente porque son definiciones parciales de un campo.Asignando valores a las variables

Usando la definición dada arriba, podemos asignar un valor a cada uno de los tres campos de chico e igualmente para chica, observe que chico.inicial es una variable de tipo char ya que así fue definida en la estructura por lo que se le debe asignar un caracter. En la línea 13 asignamos el caracter R a chico.inicial de acuerdo a las reglas en tanto que a losotros dos campos de chico se les asigna valores de acuerdo a sus respectivos tipos. Finalmente asignamos valores a los tres campos de chica pero en diferente orden para ilustrar que esto no es crítico, observe que se utiliza la edad del chico para determinar la edad de la chica, esto ilustra el uso de un miembro de la estructura.

Un array de estructuras

El siguiente programa es básicamente elmismo que el anterior, pero esta vez definimos un array de 12 variables llamadas chicos, está claro que éste programa contiene 12 veces 3=36 variables sencillas cada una de las cuales puede almacenar un ítem de dato siempre y cuando sea del tipo adecuado, se define además una variable común llamada índice para utilizarla en los bucles, estudie el código:

#include

typedef struct {

char...
tracking img