Los tipos y los
mecanismos para definir tipos los puedo combinar a mi antojo según mis
necesidades.
Por ejemplo,
podría tener un vector (o una matriz, incluso de dimensión superior a tres),
para la que cada componente fuera un registro que guardara varios datos de
tipos diferentes. Uno de ellos podría ser a su ve otro vector, u otro registro,
y así sucesivamente.
También podría
tener un registro y que uno de sus campos fuera un vector pudiendo ser cada
componente lo que me pudiera interesar, según el problema a resolver.
Por ejemplo,
podría tener un vector de hospitales, cada hospital ser un registro donde
guardo nombre, dirección, y un vector de médicos que trabajan en él, otro
vector de pacientes que estoy atendiendo y otro más de habitaciones. Cada una
de esas componentes sería de nuevo un registro con la información relevante que
quisiera guardar sobre ellos.
El acceso a
estas estructuras de datos se realiza ordenando operadores, por ejemplo, podría
encontrar en mi programa expresiones como:
hospitales[36], médicos[17], especialidad
Estaría
accediendo a la especialidad que tiene el médico 17 en el hospital 36.
Registros en C. Veámoslo con ejemplos
Cuando pasemos
de parámetros de tipo struct por referencia dentro de la función, la forma de
acceder a cada campo sería usando -> en vez de ‘.’.
typefef
struct{
int
i;
float
f;
}MITIPO;
void
miFuncion(MITIPO*miParametro) {
…
miParametro->i=3;
miParametro->f=6.0;
}
main()
{
…
MITIPO.miVariable;
…
miFuncion(&miVariable);
...
miVariable1 …
…
}
0 comments:
Publicar un comentario