Pasa la matriz de estructura de la misma manera que pasa la matriz de int, o cualquier otro tipo de datos nativo para el caso.
Aquí hay un ejemplo:
#include
struct abc {
int x, y;
char z;
};
- Soy de la aldea y no puedo costear el coaching, así que estoy preparando para el examen de servicios de UPSC Cvils. ¿Puedo descifrarlo si completé mi graduación?
- Tengo un CGPA de 6.65 de un NIT y mis porcentajes 10 y 12 son 85.6 y 82.5. ¿Cuáles son mis posibilidades de ingresar a IIMA / B / C / L / I / K o FMS después de obtener una puntuación CAT decente?
- Mi perro acaba de comer un par de cigarrillos y no estoy seguro si un corcho de vino de mi bolso. ¿Estará bien o debería llevarla al veterinario?
- ¿Cuáles son algunos juegos similares a los Sims que a mi novia le encantaría?
- Odio la codificación, pero me encantaría trabajar para Microsoft. ¿Cuáles son algunas otras opciones para mí en Microsoft como ingeniero eléctrico que no quiere codificar?
vacío print_struct_array (struct abc arr [], int size) {
int i;
para (i = 0; i <tamaño; ++ i)
printf (“x =% d, y =% d, z =% c \ n”, arr [i] .x, arr [i] .y, arr [i] .z);
regreso ;
}
int main () {
struct abc arr [] = {{1, 2, ‘a’}, {2, 3, ‘b’}, {4, 5, ‘c’}};
int size = sizeof (arr) / sizeof (arr [0]);
print_struct_array (arr, tamaño);
devuelve 0;
}
struct abc {
int x, y;
char z;
}
Declara una estructura global. De esta manera, es conocido por todas las funciones (aquí, main y print_struct_array).
struct abc arr[] = {{1, 2, 'a'}, {2, 3, 'b'}, {4, 5, 'c'}};
Esta declaración crea una matriz de struct abc, llamada arr.
int size = sizeof(arr)/sizeof(arr[0]);
Esta declaración calcula el tamaño / número de elementos en la matriz. Esto no es necesario, también podría haber definido la matriz de esta manera:
struct abc arr[3] = {{1, 2, 'a'}, {2, 3, 'b'}, {4, 5, 'c'}};
print_struct_array(arr, size);
Esta declaración pasó la referencia a la matriz de estructura a la función print_struct_array junto con el tamaño. (NOTA: arr se usa para obtener referencia a la matriz)
vacío print_struct_array (struct abc arr [], int size) {
int i;
para (i = 0; i <tamaño; ++ i)
printf (“x =% d, y =% d, z =% c \ n”, arr [i] .x, arr [i] .y, arr [i] .z);
regreso ;
}
Este bloque de código es la definición de la función print_struct_array. Podríamos haber usado struct abc * arr. Pero es esencialmente lo mismo. Obtiene la referencia a la matriz. Luego hay un bucle estándar que itera la matriz e imprime los valores.
Aquí está el enlace al código de trabajo: Ideone.com
RG