Documente Academic
Documente Profesional
Documente Cultură
ESTRUCTURA (STRUCT)
Definicin
Estructura (struct):
struct CD
struct CD
{
{
char titulo[30];
char titulo[30];
char artista[25];
char artista[25];
int NumCanciones;
int NumCanciones;
float Precio;
float Precio;
char fecha[8];
char fecha[8];
};
};
Note que los componentes o miembros de la estructura pueden ser de
cualquier tipo.
Por Rodrigo Vsquez
1. struct InfoAtleta
1. struct InfoAtleta
{
{
char nombre[40];
char nombre[40];
int edad;
int edad;
char sexo;
char sexo;
char categoria[20];
char categoria[20];
float tiempo;
float tiempo;
} Atleta1, Atleta2, Atleta3;
} Atleta1, Atleta2, Atleta3;
O bien,
O bien,
2. struct InfoAtleta Atleta1, Atleta2,
2. struct InfoAtleta Atleta1, Atleta2,
Atleta3;
Atleta3;
Por Rodrigo Vsquez
Estructuras anidadas
Una estructura puede tener como miembro o componente a
Una estructura puede tener como miembro o componente a
otra estructura o varias dependiendo del caso. Se dice que
otra estructura o varias dependiendo del caso. Se dice que
existe un beneficio relacionado al ahorro de tiempo cuando
existe un beneficio relacionado al ahorro de tiempo cuando
los programas utilizan estructuras similares. Se define la
los programas utilizan estructuras similares. Se define la
estructura componente una vez y esta se incluye como
estructura componente una vez y esta se incluye como
componente en una o varias estructuras en un programa.
componente
struct fechaen una o varias estructuras en un programa.
{
unsigned int dia, mes, anyo;
}
struct empleado
{
char codigo[6];
char nombre[60];
struct fecha fechacontratacion;
float salario;
}
Las estructuras se pueden anidar a cualquier grado.
Por Rodrigo Vsquez
Arreglos de estructuras
Es posible crear arreglos de estructuras. Esto implica que los
Es posible crear arreglos de estructuras. Esto implica que los
arreglos pueden almacenar diferentes tipos de datos de acuerdo al
arreglos pueden almacenar diferentes tipos de datos de acuerdo al
diseo de la estructura.
diseo de la estructura.
Los arreglos de estructuras son tiles para almacenar datos de
Los arreglos de estructuras son tiles para almacenar datos de
grupos de empleados, productos, etc.
grupos de empleados, productos, etc.
Ejemplo:
Ejemplo:
Se define un arreglo de estructuras con capacidad para
Se define un arreglo de estructuras con capacidad para
almacenar los datos de 50 atletas.
almacenar los datos de 50 atletas.
struct InfoAtleta Atletas[50];
struct InfoAtleta Atletas[50];
Representacin del arreglo de estructuras en memoria. (3350 bytes
Representacin del arreglo de estructuras en memoria. (3350 bytes
de memoria reservado)
de memoria
reservado)
nombre
edad
sexo
categori
tiempo
40 bytes
0
1
2bytes
1byte
a
20 bytes
4bytes
Arreglos de estructuras
Para acceder a los miembros de cada uno de los elementos
Para acceder a los miembros de cada uno de los elementos
estructura se utiliza una notacin de arreglo. Para inicializar el
estructura se utiliza una notacin de arreglo. Para inicializar el
primer elemento de libros, por ejemplo, su cdigo debe hacer
primer elemento de libros, por ejemplo, su cdigo debe hacer
referencia a los miembros de libros [0] de la forma siguiente:
referencia a los miembros de libros [0] de la forma siguiente:
strcpy(libros[0] .titulo, "C++ a su alcance") ;
strcpy(libros[0] .titulo, "C++ a su alcance") ;
strcpy(libros[0] .autor, "Luis Joyanes") ;
strcpy(libros[0] .autor, "Luis Joyanes") ;
strcpy(libros[0] .editorial, "McGraw-Hill") ;
strcpy(libros[0] .editorial, "McGraw-Hill") ;
libros [0] .anyo = 1999;
libros [0] .anyo = 1999;
Tambin puede inicializarse un arreglo de estructuras en el punto de
Tambin puede inicializarse un arreglo de estructuras en el punto de
la declaracin encerrando la lista de inicializadores entre llaves, { }.
la declaracin encerrando la lista de inicializadores entre llaves, { }.
Por ejemplo,
Por ejemplo,
struct infolibro libros[3] = { "C++ a su alcance", "Luis Joyanes",
struct infolibro libros[3] = { "C++ a su alcance", "Luis Joyanes",
"McGraw-Hill", 1999, "Estructura de datos", "Luis Joyanes",
"McGraw-Hill", 1999, "Estructura de datos", "Luis Joyanes",
"McGraw-Hill", 1999, "Problemas en Pascal", "ngel Hermoso",
"McGraw-Hill", 1999, "Problemas en Pascal", "ngel Hermoso",
"McGraw-Hill", 1997};
"McGraw-Hill", 1997};
Por Rodrigo Vsquez
FIN DE LA
PRESENTACION
GRACIAS