Make your own free website on Tripod.com
Capítulo 8. Construcción de tipos (4)

Los campos de cada registro pueden ser tipos básicos u otros registros. Por ejemplo:

struct planeta {
struct 3D r, v, a;
double masa;
char nom[10];
};
struct 3D {
double x,y,z;
};

Los campos de cada registro son accesibles mediante el nombre del registro seguido de punto y el nombre del campo, como por ejemplo venus.r.x = 1.0;. Cada campo se comporta como lo hace su tipo básico. C no proporciona mecanismos de inicialización ni copia de registros, por lo que debe ser el programador el que los implemente.

A veces los datos se ajustan a series ordenadas en las cuales un elemento sigue, o precede, a otro. Un caso típico son los días de la semana. Si se desea realizar iteraciones con los días de la semana una forma es, por ejemplo, asignar un número a cada día con #define. C proporciona un mecanismo compacto para realizar esto; son las enumeraciones. Una enumeración toma la forma: enum nombre { lista de elementos };. Veamos un ejemplo:

void planning ( void )
{
enum diasemana {lunes, martes, miercoles,
jueves, viernes, sabado, domingo };
int dia;
for ( dia = lunes; dia <= viernes; dia++ )
trabajar(dia);
if ( dia == sabado )
salir();
}