logo

Matriz de estructuras versus matriz dentro de una estructura en C

Ambos Conjunto de estructuras y Matriz dentro de una estructura En la programación C es una combinación de matrices y estructuras, pero ambas se utilizan para diferentes propósitos.

ejemplos de dfa

Matriz dentro de una estructura

Una estructura es un tipo de datos en C que permite tratar un grupo de variables relacionadas como una sola unidad en lugar de entidades separadas. Una estructura puede contener elementos de diferentes tipos de datos: int, char, float, double, etc. También puede contener una matriz como miembro. Una matriz de este tipo se denomina matriz dentro de una estructura. Una matriz dentro de una estructura es un miembro de la estructura y se puede acceder a ella del mismo modo que accedemos a otros elementos de la estructura.

A continuación se muestra una demostración de un programa que utiliza el concepto de matriz dentro de una estructura. El programa muestra el expediente de un estudiante que comprende el número de rollo , calificación , y marcas asegurado en diversas materias. Las calificaciones en varias materias se han almacenado en una matriz llamada marcas . Todo el registro se almacena bajo una estructura llamada a candidato .



Ejemplo

El siguiente programa demuestra el uso de una matriz dentro de una estructura.

C




// C program to demonstrate the> // use of an array within a structure> #include> // Declaration of the structure candidate> struct> candidate {> >int> roll_no;> >char> grade;> >// Array within the structure> >float> marks[4];> };> // Function to displays the content of> // the structure variables> void> display(>struct> candidate a1)> {> >printf>(>'Roll number : %d '>, a1.roll_no);> >printf>(>'Grade : %c '>, a1.grade);> >printf>(>'Marks secured: '>);> >int> i;> >int> len =>sizeof>(a1.marks) />sizeof>(>float>);> >// Accessing the contents of the> >// array within the structure> >for> (i = 0; i printf('Subject %d : %.2f ', i + 1, a1.marks[i]); } } // Driver Code int main() { // Initialize a structure struct candidate A = { 1, 'A', { 98.5, 77, 89, 78.5 } }; // Function to display structure display(A); return 0; }>

>

entero a cadena en java
>

Producción

Roll number : 1 Grade : A Marks secured: Subject 1 : 98.50 Subject 2 : 77.00 Subject 3 : 89.00 Subject 4 : 78.50>

Conjunto de estructuras

Una matriz es una colección de elementos de datos del mismo tipo. Cada elemento de la matriz puede ser int, char, float, double o incluso una estructura. Hemos visto que una estructura permite agrupar elementos de diferentes tipos de datos bajo un único nombre. Esta estructura puede considerarse entonces como un nuevo tipo de datos en sí mismo. Entonces, una matriz puede contener elementos de este nuevo tipo de datos. Una variedad de estructuras encuentra sus aplicaciones al agrupar los registros y proporciona un acceso rápido.

A continuación se muestra una demostración de una variedad de estructuras. La matriz contiene los detalles de los estudiantes de una clase. Los detalles incluyen el número de rollo, grado , y marcas , que han sido agrupados bajo una estructura (registro). Existe un registro para cada estudiante. Así es como se puede reunir una colección de variables relacionadas en una sola entidad para mejorar la claridad del código y aumentar su eficiencia.

10 de 100

Ejemplo

El siguiente programa demuestra el uso de una variedad de estructuras.

C




// C program to demonstrate the> // usage of an array of structures> #include> // Declaring a structure class> struct> class> {> >int> roll_no;> >char> grade;> >float> marks;> };> // Function to displays the contents> // of the array of structures> void> display(>struct> class> class_record[3])> {> >int> i, len = 3;> >// Display the contents of the array> >// of structures here, each element> >// of the array is a structure of class> >for> (i = 0; i printf('Roll number : %d ', class_record[i].roll_no); printf('Grade : %c ', class_record[i].grade); printf('Average marks : %.2f ', class_record[i].marks); printf(' '); } } // Driver Code int main() { // Initialize of an array of structures struct class class_record[3] = { { 1, 'A', 89.5f }, { 2, 'C', 67.5f }, { 3, 'B', 70.5f } }; // Function Call to display // the class_record display(class_record); return 0; }>

>

ejemplo de java hola mundo
>

Producción

Roll number : 1 Grade : A Average marks : 89.50 Roll number : 2 Grade : C Average marks : 67.50 Roll number : 3 Grade : B Average marks : 70.50>

Diferencia entre matriz de estructuras y matriz dentro de estructuras

A continuación se muestra la diferencia tabular entre la matriz dentro de una estructura y la matriz de estructuras:

Parámetro

Matriz dentro de una estructura

Conjunto de estructuras

Idea básica Una estructura contiene una matriz como variable miembro. Una matriz en la que cada elemento es de tipo estructura.
Sintaxis clase de estructura {int ar[10]; } a1, a2, a3; clase de estructura { int a, b, c; } estudiantes[10];
Acceso Se puede acceder utilizando el operador punto del mismo modo que accedemos a otros elementos de la estructura. Se puede acceder indexando del mismo modo que accedemos a una matriz.
Sintaxis de elementos de acceso estructura.matriz[índice] matriz[índice].miembro
Estructura de la memoria La matriz dentro de la estructura se almacenará en la memoria secuencial y el relleno de la estructura no depende del tamaño de la matriz. Habrá algo de espacio vacío entre los elementos de la estructura debido al relleno de la estructura.