Arrays ofrecen el método más eficiente para almacenar listas de datos en C. Son muy fácil para el programador para crear y utilizar, y son muy rápido para el ordenador para acceder y actualizar . Sin embargo, pueden perder mucho de la memoria , por lo que no son siempre lo mejor para su uso. Cuando no se utiliza con cuidado, también pueden causar accidentes, los errores y la inestabilidad del sistema . Instrucciones
Crear una matriz en C
1
Entender que todos los elementos de un array ( o cualquier otro tipo de lista ) será el mismo tipo de datos. Por ejemplo , una lista de los resultados de las pruebas será de una matriz de enteros , ya que cada calificación de la prueba es un entero. Para datos más complejas , tendrá que definir una estructura .
2
Decidir cuál es el tamaño más grande de la matriz puede jamás alcanzar será , porque las matrices tienen una longitud fija . Usted querrá encontrar un equilibrio entre tener su programa capaz de manejar conjuntos de datos inusualmente largos , y hacer que requiere (y residuos ) de una gran cantidad de memoria .
3
Crear la matriz de la misma manera que crearía una única variable , además de añadir el tamaño máximo entre corchetes después del nombre , como en estos ejemplos :
test_scores int [ 50 ] ; 'nombre char [ 20 ] ; empleados employee_record [ 1000 ] ;
4 Crear una segunda variable que mantiene un registro de la cantidad de elementos que ha añadido a la serie hasta ahora.
5
Crear una matriz con varias dimensiones , simplemente toma una matriz de matrices , así :
int test_answers [ 10 ] [ 20 ] ; student_names char [ 50 ] [ 20 ] ;
Utilice la matriz
6 Acceso a elementos de la matriz con el índice en la plaza paréntesis , así:
test_scores [ 12 ] = 50 ; printf ( "puntuación de la prueba: % d \\ n " , test_scores [ i] );
7 pasar matrices a funciones , si así lo desea . Usted no necesita (y no debe ) especificar el tamaño en la definición de la función . Esto es lo que la definición de la función y la llamada se vería así :
función subtotal ( test_scores int [ ] ) ; test_subtotal = subtotal ( test_scores ) ;