Tecnología

Inicio

Cómo crear una matriz en C

Las matrices ofrecen el método más eficiente para almacenar listas de datos en C. Son muy fácil para el programador crear y utilizar, y son extraordinariamente rápida para el ordenador para acceder y actualizar. Sin embargo, pueden perder una gran cantidad de memoria, así que no son siempre lo mejor que puede utilizar. Cuando no se usa con cuidado, también pueden causar accidentes, los insectos 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á una matriz de enteros, ya que cada puntuación de la prueba es un entero. Para datos más complejos, tendrá que definir una estructura.

2 Decidir cuál es el tamaño más grande de la matriz puede alcanzar nunca 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 se requieren (y residuos) una gran cantidad de memoria.

3 Crear la matriz de la misma manera que se creará una única variable, además de añadir el tamaño máximo entre corchetes después del nombre, como en estos ejemplos:

int test_scores [50];
Char nombre apellido [20];
employee_record empleados [1000];

4 Crear una segunda variable que mantiene un registro de cuántos elementos que haya añadido a la matriz hasta el momento.

5 Crear una matriz con múltiples dimensiones, simplemente haciendo una matriz de matrices, como esto:

int test_answers [10] [20];
student_names char [50] [20];

Utilice la matriz

6 Acceder a los elementos del array utilizando el índice entre corchetes, como esto:

test_scores [12] = 50;
printf ( "puntuación de la prueba:% d \ n", test_scores [i]);

7 Pasar matrices de funciones, si así lo desea. Usted no necesita (y no debe) especificar el tamaño de la definición de función. Esto es lo que la definición de la función y la llamada se vería así:

la función subtotal (test_scores int []);
test_subtotal = subtotal (test_scores);

Consejos y advertencias

  • El índice de un array es siempre de tipo int.
  • Una cadena de caracteres es en realidad un conjunto de caracteres, y todas las funciones de manejo de series integradas en las bibliotecas estándar de C trabajar con estos arreglos.
  • Al pasar una matriz a una función, los cambios realizados a la matriz por la función se trasladarán a la función de llamada!
  • Tenga en cuenta que el primer elemento de una matriz es el elemento 0, no el elemento 1. Esto significa que si la matriz tiene 50 elementos, que están numerados de 0 a 49.
  • El acceso a los elementos más allá de la última que declarado es llamado un "buffer overflow" y es la causa de la mayor parte de los errores y accidentes en los programas C. C ofrece ninguna protección contra desbordamientos de búfer. En su lugar, le toca a usted para evitar que a través de una cuidadosa programación.
  • El tamaño de la matriz debe ser una constante, y no puede ser cambiado fácilmente mientras se ejecuta el programa. Si tiene que ser capaz de cambiar el tamaño de la lista a medida que avanza, considerar el uso de una lista enlazada en su lugar.