C - Matrices

Arrays una especie de estructura de datos que puede almacenar una colección secuencial de tamaño fijo de elementos del mismo tipo. Una matriz se usa para almacenar una colección de datos, pero a menudo es más útil pensar en una matriz como una colección de variables del mismo tipo.

En lugar de declarar variables individuales, como número0, número1, ... y número99, declaras una variable de matriz como números y usas números [0], números [1] y ..., números [99] para representar variables individuales. Se accede a un elemento específico de una matriz mediante un índice.

Todas las matrices constan de ubicaciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la dirección más alta al último elemento.

Declaración de matrices

Para declarar una matriz en C, un programador especifica el tipo de elementos y el número de elementos requeridos por una matriz de la siguiente manera:

type arrayName [ arraySize ];

Esto se llama matriz unidimensional . losarraySize debe ser una constante entera mayor que cero y typepuede ser cualquier tipo de datos C válido. Por ejemplo, para declarar una matriz de 10 elementos llamadabalance de tipo doble, use esta declaración -

double balance[10];

Aquí el equilibrio es una matriz variable que es suficiente para contener hasta 10 números dobles.

Inicialización de matrices

Puede inicializar una matriz en C uno por uno o usando una sola declaración de la siguiente manera:

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

El número de valores entre llaves {} no puede ser mayor que el número de elementos que declaramos para la matriz entre corchetes [].

Si omite el tamaño de la matriz, se crea una matriz lo suficientemente grande como para contener la inicialización. Por lo tanto, si escribe -

double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

Creará exactamente la misma matriz que hizo en el ejemplo anterior. A continuación se muestra un ejemplo para asignar un solo elemento de la matriz:

balance[4] = 50.0;

La declaración anterior asigna el 5 º elemento de la matriz con un valor de 50,0. Todas las matrices tienen 0 como índice de su primer elemento, que también se llama índice base y el último índice de una matriz será el tamaño total de la matriz menos 1. A continuación se muestra la representación gráfica de la matriz que discutimos anteriormente:

Acceso a elementos de matriz

Se accede a un elemento indexando el nombre de la matriz. Esto se hace colocando el índice del elemento entre corchetes después del nombre de la matriz. Por ejemplo

double salary = balance[9];

La declaración anterior tomará el décimo elemento de la matriz y asignará el valor a la variable de salario. El siguiente ejemplo muestra cómo utilizar los tres conceptos mencionados anteriormente, a saber. declaración, asignación y acceso a matrices -

#include <stdio.h>
 
int main () {

   int n[ 10 ]; /* n is an array of 10 integers */
   int i,j;
 
   /* initialize elements of array n to 0 */         
   for ( i = 0; i < 10; i++ ) {
      n[ i ] = i + 100; /* set element at location i to i + 100 */
   }
   
   /* output each array element's value */
   for (j = 0; j < 10; j++ ) {
      printf("Element[%d] = %d\n", j, n[j] );
   }
 
   return 0;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Matrices en detalle

Las matrices son importantes para C y deberían necesitar mucha más atención. Los siguientes conceptos importantes relacionados con la matriz deben ser claros para un programador de C:

No Señor. Concepto y descripción
1 Matrices multidimensionales

C admite matrices multidimensionales. La forma más simple de la matriz multidimensional es la matriz bidimensional.

2 Pasar matrices a funciones

Puede pasar a la función un puntero a una matriz especificando el nombre de la matriz sin un índice.

3 Devolver matriz de una función

C permite que una función devuelva una matriz.

4 Puntero a una matriz

Puede generar un puntero al primer elemento de una matriz simplemente especificando el nombre de la matriz, sin ningún índice.