Estructuras Tipo Struct
Struct
En la creacion de soluciones para algunos problemas surge la
necesidad de agrupar datos de diferente tipo o de manejar datos
que serian muy dificil de describir en los tipos de datos primitivos,
esta es la situacion en la que debemos aprovecharnos de las
caracteristicas que hacen al lenguaje C especial, o sea el uso de
estructuras, uniones y punteros.
Una estructura contiene varios datos. La forma de definir una
estructura es haciendo uso de la palabra clave struct. Aqui hay
ejemplo de la declaracion de una estructura:
Struct miestructura
{
Int i;
Double
j;
Char s[25];
} variable;
"variable" es una instancia de “miestructura” y no es necesario
ponerla aquí. Se podria omitir de la declaracion de “miestructura" y
mástarde declararla usando:
Struct miestructura variable;
También es una práctica muy común asignarle un alias o sinónimo
al nombre de la estructura, para evitar el tener que poner "struct
mystruct" cada vez. C nos permite la posibilidad de hacer esto
usando la palabra clave typedef, lo que crea un alias a un tipo:
Typedef struct miestructura miest;
Un struct es un tipode datos complejo conformado
por un conjunto de campos de otros tipos (básicos o
complejos) asociados a un identificador:
struct [etiqueta]
{
tipo campo;
tipo campo;
...
};
struct persona
{
char nombre[20];
int edad;
float peso;
} yo,tu,ellos[10];
struct persona el={“AntonioLópez”,31,80};
struct persona *ella, todos[20];
El acceso a los campos de una estructura se hace por
medio de un punto (.) o de una flecha (->) si es un
puntero a estructura.
struct persona el, *ella, todos[20];
printf(“Su nombre %s\n”,el.nombre);
todos[2].edad=20;
ella=&todos[2];
printf(“La edad de ella es %d\n”,ella->edad);
Estructuras y funciones
Las estructuras de datos son tipos complejos y (aunque
ciertos compiladores lo admiten) no deben ser pasados
como argumentos ni devueltos por funciones. En su
lugar se usan punteros a dichas estructuras:
void evaluar_empleado(struct empleado* emp);
struct empleado* nuevo_empleado();
Definición de nuevos tipos
Las sentencias typedef se usan para definir nuevos
tipos en base a tipos ya definidos:
typedef int boolean;
typedef struct persona persona_t;
typedef struct punto
{
int coord[3];
enum color col;
} punto_t;
persona_t p[4];
Definición de nuevos tipos
Las sentencias typedef se usan para definir nuevos
tipos en base atipos ya definidos:
typedef int boolean;
typedef struct persona persona_t;
typedef struct punto
{
int coord[3];
enum color col;
} punto_t;
persona_t p[4];
Que es una estructura
A diferencia de los arreglos donde los elementos son todos del
mismo tipo, en una estructura s epuede considerar con un arreglo
en el cual sus elementos individuales pueden ser de distintos tipos
Estos elementos individuales se llaman mie¿mbros conmonentes de
la estructura
En c son mecanismos de forma mas versátil detraajar con fichas de
ingfoi
Struct nopmbre_estruct{
Tipo1 miembro1;
Tipo2 miembro 2,
.
};
• La palabra struct define la estructura
• nombre_estructura es el nombre que identifica
estructuras deeste tipo, (misma composición)
• miembro1, ..., miembroN, son declaraciones de
miembros individuales. Los miembros pueden ser
variables ordinarias, punteros, arreglos u otras estructuras.
Declaración
• Una vez que la composición a sido definida, las
variables de este tipo de estructuras pueden
declararse como sigue:
...
Regístrate para leer el documento completo.