Estructura en C

Estructura en C
La estructura es un concepto importante en c. Hay dos tipos de tipos de datos que existen en C. Son tipos de datos primitivos y tipos de datos no probitivos o definidos por el usuario. La estructura es un ejemplo de un tipo de datos no probitivo.

Que es la estructura

La estructura es una forma de agrupar variables. A veces, tenemos que almacenar información en un grupo.

Supongamos que tenemos que almacenar la información de 100 estudiantes. La información significa su nombre, dirección, móvil no, género, marcas, agregados, etc. En esta situación, si almacenamos estos datos en las múltiples variables para cada estudiante, el programa se vuelve muy complejo y aumenta la velocidad de ejecución del programa.

Para reducir este problema, introducimos una estructura. Con la ayuda de la estructura, podemos agrupar estas variables de cada estudiante en una sola variable.

La estructura es una colección de elementos diferentes. Diferente significa que podemos almacenar diferentes valores de tipo de datos como int, char, flotación, cadena, etc.

Si almacenamos la información de un estudiante, tenemos que almacenar su nombre, marcas, móviles, etc. El nombre es una cadena; Una marca es un flotador; Mobile NO es una matriz entera. Entonces es un grupo de elementos diferentes.

Definir la estructura significa crear un nuevo tipo de datos, y sabemos que crear un nuevo tipo de datos significa que usamos aquí el tipo de datos no estimitivos.

Cómo definir una estructura

Fecha de estructura // Definición de una estructura;

int d, m, y;
;
struct Student // Definición de otra estructura;

int roll_no;
nombre de char [30];
int Age;

La fecha y el estudiante mencionados anteriormente son nuevos tipos de datos llamados tipos de datos definidos por el usuario. Este tipo de tipo de datos debe definirse en nuestro programa. Debido a que el tipo de datos primitivos se define en C, pero el tipo de datos no estimitivos no se define en C, el usuario debe definir los que usa. Para esto, tenemos que escribir una palabra clave llamada estructura antes del nombre del tipo de datos definido por el usuario.

Consumo de memoria

No se consume memoria para una definición de estructura. Porque la memoria se consume para la declaración de una variable pero no en el caso de definir el tipo de datos.

Definir la estructura significa crear un nuevo tipo de datos; la memoria no se consume. La memoria se consume en el momento de la declaración de un tipo particular de variable

¿Dónde podemos definir la estructura?

Podemos definir una estructura como local o globalmente dependiendo del requisito del programa.

¿Cómo se crean variables a través de la estructura?

Programación Ejemplo1:

#incluir
Fecha de estructura // Definición de una estructura globalmente;

int d, m, y;
;
Fecha de estructura D1;
int main ()

D1.d = 24; // Asignación de valores a las variables miembros de D1;
D1.m = 4;
D1.y = 2022;
printf ("La fecha es: %d %d %d", D1.D, D1.M, D1.y);
reajustar0;

Producción

Explicación

Aquí creamos un tipo de datos de fecha a nivel mundial. Para definir un tipo de datos de fecha, utilizamos estructura de palabras clave. Ahora declaramos una variable D1 sin inicialización. Dentro de la función principal, asignamos los valores de la variable de miembro de la fecha; Son D1.D, D1.M, D1.Y. Ahora imprimimos los valores.

Programación Ejemplo 2

#incluir
Fecha de estructura // Definición de una estructura a nivel mundial;

int d, m, y;
;
int main ()

Fecha de estructura d1 = 24, 4, 2022;
// Declaración y asignación de valores localmente;
printf ("La fecha es: %d %d %d", D1.D, D1.M, D1.y);
regresar 0;

Producción

Explicación

Aquí definimos el tipo de datos de fecha a nivel mundial. Dentro de la función Main (), declaramos y asignamos una variable D1 del tipo de datos de fecha. Entonces, esta variable D1 actúa como una variable local. Aquí los valores van automáticamente a la variable miembro de la fecha. Ahora imprimimos la fecha.

Programación Ejemplo 3

#incluir
Fecha de estructura // Definición de una estructura a nivel mundial;

int d, m, y;
;
Fecha de estructura D1;
int main ()

printf ("Ingrese una fecha:");
scanf (" %d/ %d/ %d" y D1.D, y D1.Y, y D1.y); // Fecha de entrada del usuario;
printf ("La fecha es: %d %d %d", D1.D, D1.M, D1.y);
regresar 0;

Producción

Estructura auto referencial

La estructura auto referencial también es una estructura. Es una estructura con punteros que apunta al mismo tipo de estructura que un miembro. Mostramos un ejemplo a continuación.

Programación Ejemplo 4

#incluir
int main ()

nodo

datos int;
Struct nodo * enlace;
;
nodo de estructura n1;
N1. datos = 5;
N1 . enlace = nulo;
estructura nodo n2;
N2. Datos = 7;
N2. Enlace = nulo;
N1. Enlace = & n2; // La dirección de N2 se asigna a la parte del enlace de N1.
printf ("El valor de los datos es: %d", N1. datos ) ;
printf ("El valor del enlace es: %d", N1. enlace -> datos);
regresar 0;

Producción

Explicación

El programa anterior es un ejemplo de estructura auto referencial. Aquí creamos un tipo de datos definido por el usuario llamado nodo. Tiene dos miembros de datos dentro de su cuerpo. Uno son datos; otro está vinculado. El enlace es un puntero que tipo es tipo nodo. Significa que solo puede contener la dirección de los datos de tipo de nodo. Ahora creamos una variable N1 que es un tipo de datos de tipo de nodo. Aquí asignamos un valor de tipo int 5. En la parte vinculada, asignamos nulo.

Otra variable, b, también es un tipo de datos de tipo nodo. 7 y NULL se almacenan en sus respectivos miembros de datos. El aspecto importante es que almacenamos la dirección de B al enlace de A. Significa que el enlace de una variable ahora apunta a la variable B. Se llama estructura auto referencial.

Aplicación de la estructura auto referencial

La estructura auto referencial se usa muy en el campo de la lista de enlaces, árboles.

Conclusión

Del concepto de estructura, hemos concluido que el requisito de estructura en C es muy importante. A través de la estructura, podemos crear nuestro propio tipo de datos de acuerdo con el requisito del programa. A través de la estructura, podemos almacenar diferentes tipos de metadatos.