Estructura anidada con el Ejemplo en el lenguaje C

Este artículo habla de un uso de estructuras en C. Esto dará una breve acerca de una forma altamente eficiente a las estructuras de uso en C.

While estructuras en C contienen datos homogéneos tipos, sino que también puede contener una estructura (s) dentro de ellos. Podemos declarar una estructura dentro de una estructura que se muestra a continuación:

struct top{    
int a;
int b;
struct inside_top object;
};

Arriba está la declaración de una estructura que contiene instancia de otra estructura. Tomemos la declaración de la otra estructura, como a continuación y vamos a ver a continuación cómo podemos utilizar.

struct inside_top{    
int a;
};

un objeto creado por la parte superior estructura tendrá acceso a todos los miembros de la inside_top estructura. Veamos esto con la ayuda de un programa. Vamos a utilizar las dos estructuras anteriores en este programa.

int main()
{
struct top ObjectOne;
ObjectOne.a=101;
ObjectOne.b=201;
//below will show you how can we access the elements of inside_top
ObjectOne.object.a=301;
printf("%dn%dn%dn",ObjectOne.a,ObjectOne.b,ObjectOne.object.a);
return 0;
}

salida

101
201
301

Lo que vemos arriba se llama imbricación de estructuras o, a veces se hace referencia a estructuras anidadas. De una manera similar también podemos crear una estructura que contiene una instancia de union su interior. Las propiedades especiales de union hacen de esta combinación muy útil. A continuación se muestra un ejemplo de ello:

#include <stdio.h>
struct Element{
int a;
union{
char Vals[4];
int AllVals;
}ObjForVal;
}ObjForElement;
int main()
{
char i;
for(i=0;i<4;i++)
{
ObjForElement.ObjForVal.Vals[i]=0x50+i;
printf("%xn",ObjForElement.ObjForVal.Vals[i]);
}
//Now if one is aware of the feature of union they can use the below example
printf("%xn",ObjForElement.ObjForVal.AllVals);
printf("%xn %xn",ObjForElement.ObjForVal.AllVals, ObjForElement.a );
return 0;
}

salida

50
51
52
53
53525150
53525150
0

Este anidamiento puede ser de cualquier tamaño. Con el tamaño que significa que podemos tener una estructura que contiene muchas estructuras. Aplicaciones en las que uno necesita para almacenar varios conjuntos de valores para una combinación y todavía tienen muchas de estas combinaciones. Puede haber cualquier número de combinaciones creadas basándose en el uso de la aplicación mediante estructuras y uniones.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *