Estructuras en c

Solo disponible en BuenasTareas
  • Páginas : 7 (1617 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de abril de 2011
Leer documento completo
Vista previa del texto
Estructuras (Registros)
Estructura de Datos M. en C. Héctor Rafael Orozco Aguirre

Estructuras


Al momento de resolver un problema y codificar un programa a menudo se requiere agrupar y manipular datos de distinto tipo (estructurarlos para operar sobre ellos) de una manera sencilla y eficiente. Un ejemplo muy citado es en el caso de una factura, donde es necesario tener los datos delcliente que realizó la compra, de los productos o artículos que éste compró y probablemente quizás del empleado que realizó la venta. Hasta lo que se sabe para resolver este tipo de problemas se tendrían que declarar demasiadas variables independientes lo cual se vuelve muy poco recomendable.




Una solución muy sencilla y práctica es hacer uso de los registros o estructuras de tal manera queestos contengan y agrupen de manera ordenada y eficiente toda la información que se desea almacenar y/o manipular (una para el cliente, otra para el producto y una más para el empleado).
Estructuras 2

Definición de una Estructura


Un registro o estructura es un conjunto de n elementos heterogéneos que están agrupados bajo un único nombre (en una sola variable).
 Heterogéneo:

loselementos son por lo general de distinto tipo de dato.  Es un nuevo tipo de dato definido por el programador.  A cada uno de los elementos de una estructura se le conoce con el nombre de campo o miembro.  Los miembros de una estructura pueden ser a la vez otras estructuras.
Estructuras 3

Definición de una Estructura


Así se puede decir que una estructura o registro es una agrupación dedatos relacionados a una misma entidad, entendiéndose por entidad cualquier sujeto o cosa.



Las estructuras son equiparadas por lo tanto con los registros que hay en un archivo o en una base de datos. Incluso se les suele usar a estas para extraer y almacenar información en ellos.
Una estructura al igual que una variable, puede ser global o local:




es global cuando es declaradafuera de toda función, y,  es local cuando esta definida dentro de alguna.

Estructuras

4

Declaración de Registros o Estructuras


En lenguaje C, existen tres formas de declararlos:


Primera forma: se declara la estructura y al mismo tiempo se define(n) la(s) variable(s) (alias) de tipo la estructura. Segunda forma: se declara primero la estructura y después se define(n) lavariable(s) (alias) de tipo la estructura.





Tercera forma (recomendada): se hace uso del operador typedef, así se declara un nuevo tipo de dato definido por el programador, el cual se puede usar como cualquier otro tipo de dato predefinido en C al declarar la(s) variable(s) (alias) de tipo la estructura.

Estructuras

5

Declaración de Registros o Estructuras


Sintaxis para laprimera forma:
struct { ; ; …. ; } ;
Estructuras 6

Declaración de Registros o Estructuras


Ejemplos para la primera forma:
struct Ave { char especie[20 + 1]; char colorPlumaje[10 + 1]; float alturaVuelo; char habitat[80 + 1]; } aguila; struct Persona { char nombre[50 + 1]; int edad; char sexo[9 + 1]; int peso; int altura; } juan, rosa, pedro;

Estructuras

7

Declaración deRegistros o Estructuras


Sintaxis para la segunda forma:
struct { ; ; …. ; }; Variable(s) de tipo la estructura se declara(n) como: struct , , …,



Ventaja: pueden definirse otras variables del mismo tipo sin tener que repetir la estructura.
Estructuras 8

Declaración de Registros o Estructuras


Ejemplos para la segunda forma:
struct Ave { char especie[20 + 1]; charcolorPlumaje[10 + 1]; float alturaVuelo; char habitat[80 + 1]; }; struct Ave aguila, halcon;
struct Persona rosa, pedro;

struct Persona { char nombre[50 + 1]; int edad; char sexo[9 + 1]; int peso; int altura; };

Estructuras

9

Declaración de Registros o Estructuras


Sintaxis para la tercera forma:
typedef struct [] { ; ; …. ; } ; Variable(s) de tipo la estructura se declara(n)...
tracking img