hola

Páginas: 8 (1842 palabras) Publicado: 27 de noviembre de 2014
Programación en C/Estructuras y Uniones

Programación en C/Estructuras y Uniones
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 eluso de estructuras uniones y
punteros.

Estructuras
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 mystruct
{
int int_member;
double double_member;
char string_member[25];
} variable;
"variable" es una instancia de "mystruct" y no es necesario ponerlaaquí. Se podria omitir de la declaracion de
"mystruct" y más tarde declararla usando:
struct mystruct 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
{
...
}Mystruct;
La estructura misma no tiene nombre (por la ausencia de nombre en la primera linea), pero tiene de alias "Mystruct".
Entonces se puede usar así:
Mystruct variable;

Note que es una convencion, y una buena costumbre usar mayúscula en la primera letra de un sinónimo de tipo. De
todos modo lo importante es darle algún identificador para poder hacer referencia a la estructura: podriamostener
una estructura de datos recursiva de algún tipo.
Ejemplo de una estructura :
/*
*
*
*
*
*
*
*

estructura.c
Julio César Brizuela 2009
para el wikilibro "Programación en C (fundamentos)"
bajo licencia FDL, adaptado del Dominio Público

1

Programación en C/Estructuras y Uniones
*
*
*
*
*
*/

Nombre Miembro
Titulo
Artista
Precio
Total Canciones

2
Tipochar[30]
char[25]
float
int

#include
#include
/* definimos una estructura para cds */
struct cd
{
char titulo[30];
char artista[25];
float precio;
int canciones;
} Cd1 = {
/* inicializamos la estructura Cd1 creaa con sus valores
* usando las definiciones iniciales*/
"Canciones Bebe", /* titulo */
"Pinocho", /* artista */
12.50, /* precio */
16 /* total canciones */
};
intmain(void)
{
struct cd Cd2; /* definimos una nueva estructura llamado cd2 */
/* asignamos valores a los tipos de datos del cd2 */
strcpy(Cd2.titulo, "New Age");
/* la forma de insertar valores a un
* tipo char en una estructura es usando strcpy
* de la libreria string.h
*/
strcpy(Cd2.artista, "Old Man");
Cd2.precio = 15.00;
Cd2.canciones = 12;
/* la forma de acceder a los valores de unaestructura */
/* es usando el "." despues de la definicion del dato*/
printf("\n Cd 1");
printf("\n Titulo: %s ", Cd1.titulo);
printf("\n Artista: %s ", Cd1.artista);
printf("\n Total Canciones: %d ", Cd1.canciones);
printf("\n Precio Cd: %f ", Cd1.precio);

Programación en C/Estructuras y Uniones

printf("\n");
printf("\n Cd 2");
printf("\n Titulo: %s ", Cd2.titulo);
printf("\nArtista: %s ", Cd2.artista);
printf("\n Total Canciones: %d ", Cd2.canciones);
printf("\n Precio Cd: %.2f ", Cd2.precio); /* el .2 que esta
entre %f
* sirve para mostrar
unicamente
* 2 decimales
despues del punto*/
return 0;
}

Estructuras Anidadas
Una estructura puede estar dentro de otra estructura a esto se le conoce como anidamiento o estructuras anidadas. Ya
que se trabajan con datosen estructuras si definimos un tipo de dato en una estructura y necesitamos definir ese dato
dentro de otra estructura solamente se llama el dato de la estructura anterior.
Definamos una estructura en nuestro programa:
struct empleado /* creamos una estructura llamado empleado*/
{
char nombre_empleado[25];
char direccion[25];
char ciudad[20];
char provincia[20];
long int codigo_postal;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • hola hola hola hola
  • hola hola hola hola hola
  • hola hola hhola hola y hola
  • hola hola hola
  • Hola Hola Hola
  • Hola Hola Hola
  • hola hola hola
  • Hola hola

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS