Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

Universidad del Valle de México

MUSICA MIENTRAS NAVEGAS CON REAL AUDIO

SACBEOB ( SISTEMAS DE CAMINOS ELEVADOS )

1104PERSONAS QUE NOS VISITAN

Búscalo en SACBEOB

ESTRUCTURAS

DECLARACION DE ESTRUCTURAS

Así como los arrays son organizaciones secuenciales de variables simples , de un mismo tipo cualquiera dado , resulta necesario en multiples aplicaciones , agrupar variables de distintos tipos , en una sola entidad . Este sería el caso , si quisieramos generar la variable " legajo personal " , en ella tendriamos que incluir variables del tipo : strings , para el nombre , apellido , nombre de la calle en donde vive , etc , enteros , para la edad , número de codigo postal , float ( ó double , si tiene la suerte de ganar mucho ) para el sueldo , y así siguiendo . Existe en C en tipo de variable compuesta , para manejar ésta situación típica de las Bases de Datos , llamada ESTRUCTURA . No hay limitaciones en el tipo ni cantidad de variables que pueda contener una estructura , mientras su máquina posea memoria suficiente como para alojarla , con una sóla salvedad : una estructura no puede contenerse a sí misma como miembro .
Para usarlas , se deben seguir dos pasos . Hay que , primero declarar la estructura en sí , ésto es , darle un nombre y describir a sus miembros , para finalmente declarar a una ó más variables , del tipo de la estructura antedicha , veamos un ejemplo :

struct legajo {

int edad ;

char nombre[50] ;

float sueldo ;

} ;

struct legajo legajos_vendedores , legajos_profesionales ;

En la primer sentencia se crea un tipo de estructura , mediante el declarador "struct",luego se le dá un nombre " legajo " y finalmente , entre llaves se declaran cada uno de sus miembros , pudiendo estos ser de cualquier tipo de variable , incluyendo a los arrays ó aún otra estructura . La única restricción es que no haya dos miembros con el mismo nombre , aunque sí pueden coincidir con el nombre de otra variable simple , ( o de un miembro de otra estructura ) , declaradas en otro lugar del programa. Esta sentencia es sólo una declaración , es decir que no asigna lugar en la memoria para la estructura , sólo le avisa al compilador como tendrá que manejar a dicha memoria para alojar variables del tipo struct legajo .
En la segunda sentencia , se definen dos variables del tipo de la estructura anterior ,(ésta definición debe colocarse luego de la declaración ) , y se reserva memoria para ambas .
Las dos sentencias pueden combinarse en una sola , dando la definición a continuación de la declaracion :

struct legajo {

int edad ;

char nombre[50] ;

float sueldo ;

} legajo_vendedor , legajo_programador ;

Y si nó fueran a realizarse más declaraciones de variables de éste tipo , podría obviarse el nombre de la estructura ( legajo ).

Las variables del tipo de una estructura , pueden ser inicializadas en su definición , así por ejemplo se podría escribir:

struct legajo {

int edad ;

char nombre[50] ;

float sueldo ;

char observaciones[500] ;

} legajo_vendedor = { 40 , "Juan Eneene" , 1200.50 , "Asignado a zona A" } ;

struct legajo legajo_programador = { 23 , " Jose Perez" , 2000.0 , "Asignado a zona B"

} ;

Acá se utilizaron las dos modalidades de definición de variables , inicializandolas a ambas .

REGRESAR

CONTINUAR