Matrices C
Matrices C
En este tutorial, aprenderá a trabajar con arreglos. Aprenderá a declarar, inicializar y acceder a elementos de una matriz con la ayuda de ejemplos.

Una matriz es una variable que puede almacenar múltiples valores. Por ejemplo, si desea almacenar 100 enteros, puede crear una matriz para ello.
int data[100];
¿Cómo declarar una matriz?
dataType arrayName[arraySize];
Por ejemplo,
float mark[5];
Aquí, declaramos una matriz, mark , de tipo punto flotante. Y su tamaño es 5. Es decir, puede contener 5 valores de punto flotante.
Es importante tener en cuenta que el tamaño y el tipo de una matriz no se pueden cambiar una vez que se declara.
Acceder a los elementos de la matriz
Puede acceder a los elementos de una matriz por índices.
Suponga que declara una matriz marcar como anteriormente. El primer elemento es mark[0] , el segundo elemento es mark[1] y así sucesivamente.

Pocas notas clave :
- Las matrices tienen 0 como primer índice, no 1. En este ejemplo, mark[0] es el primer elemento.
- Si el tamaño de una matriz es n , para acceder al último elemento, el
n-1
se utiliza el índice. En este ejemplo, marcar[4] - Suponga que la dirección inicial de
mark[0]
es 2120d . Luego, la dirección delmark[1]
será 2124d . Del mismo modo, la dirección demark[2]
será 2128d y así.
Esto se debe a que el tamaño de unfloat
es de 4 bytes.
¿Cómo inicializar una matriz?
Es posible inicializar una matriz durante la declaración. Por ejemplo,
int mark[5] = {19, 10, 8, 17, 9};
También puede inicializar una matriz como esta.
int mark[] = {19, 10, 8, 17, 9};
Aquí, no hemos especificado el tamaño. Sin embargo, el compilador sabe que su tamaño es 5 porque lo estamos inicializando con 5 elementos.

Aquí,
mark[0] is equal to 19 mark[1] is equal to 10 mark[2] is equal to 8 mark[3] is equal to 17 mark[4] is equal to 9
Cambiar el valor de los elementos de la matriz
int mark[5] = {19, 10, 8, 17, 9}
// make the value of the third element to -1
mark[2] = -1;
// make the value of the fifth element to 0
mark[4] = 0;
Elementos de matriz de entrada y salida
Así es como puede tomar la entrada del usuario y almacenarla en un elemento de matriz.
// take input and store it in the 3rd element
scanf("%d", &mark[2]);
// take input and store it in the ith element
scanf("%d", &mark[i-1]);
Así es como puede imprimir un elemento individual de una matriz.
// print the first element of the array
printf("%d", mark[0]);
// print the third element of the array
printf("%d", mark[2]);
// print ith element of the array
printf("%d", mark[i-1]);
Ejemplo 1:Entrada/salida de matriz
// Program to take 5 values from the user and store them in an array
// Print the elements stored in the array
#include <stdio.h>
int main() {
int values[5];
printf("Enter 5 integers: ");
// taking input and storing it in an array
for(int i = 0; i < 5; ++i) {
scanf("%d", &values[i]);
}
printf("Displaying integers: ");
// printing elements of an array
for(int i = 0; i < 5; ++i) {
printf("%d\n", values[i]);
}
return 0;
}
Salida
Enter 5 integers: 1 -3 34 0 3 Displaying integers: 1 -3 34 0 3
Aquí, hemos utilizado un for
bucle para tomar 5 entradas del usuario y almacenarlas en una matriz. Luego, usando otro for
bucle, estos elementos se muestran en la pantalla.
Ejemplo 2:Calcular promedio
// Program to find the average of n numbers using arrays
#include <stdio.h>
int main()
{
int marks[10], i, n, sum = 0, average;
printf("Enter number of elements: ");
scanf("%d", &n);
for(i=0; i<n; ++i)
{
printf("Enter number%d: ",i+1);
scanf("%d", &marks[i]);
// adding integers entered by the user to the sum variable
sum += marks[i];
}
average = sum/n;
printf("Average = %d", average);
return 0;
}
Salida
Enter n: 5 Enter number1: 45 Enter number2: 35 Enter number3: 38 Enter number4: 31 Enter number5: 49 Average = 39
Aquí, hemos calculado el promedio de n números introducidos por el usuario.
¡Accede a elementos fuera de su límite!
Suponga que declara una matriz de 10 elementos. Digamos,
int testArray[10];
Puede acceder a los elementos de la matriz desde testArray[0]
a testArray[9]
.
Ahora digamos si intenta acceder a testArray[12]
. El elemento no está disponible. Esto puede causar una salida inesperada (comportamiento indefinido). A veces puede recibir un error y otras veces su programa puede ejecutarse correctamente.
Por lo tanto, nunca debe acceder a los elementos de una matriz fuera de su límite.
Arreglos multidimensionales
En este tutorial, aprendió acerca de las matrices. Estas matrices se denominan matrices unidimensionales.
En el próximo tutorial, aprenderá sobre arreglos multidimensionales (arreglo de un arreglo).
Lenguaje C
- Matrices de C#
- Matriz irregular de C#
- Pasar matriz a una función en programación C++
- Pasar arreglos a una función en C
- Relación entre matrices y punteros
- Matrices de copia de Java
- Matrices en C++ | Declarar | Inicializar | Ejemplos de puntero a matriz
- C++ Asignación dinámica de arreglos con ejemplo
- Tutorial de Java Arrays:declarar, crear, inicializar [ejemplo]
- MATLAB - Matrices
- La guía definitiva para arreglos de cuadrícula de bolas