Dominando arrays en C: declaración, inicialización y operaciones comunes
Dominando arrays en C
Descubra cómo declarar, inicializar y manipular arrays en C con ejemplos prácticos, consejos de mejores prácticas y directrices de seguridad.

En C, un array es un bloque contiguo de memoria que almacena múltiples valores del mismo tipo. Por ejemplo, para guardar 100 enteros escribiría:
int datos[100];
Declarar un array
Use la sintaxis:
tipoDato nombreArray[tamañoArray];
Ejemplo:
float nota[5];
Aquí, nota puede almacenar cinco valores float. Observe que el tamaño y tipo son fijos después de la declaración.
Acceder a elementos
Los índices de array comienzan en 0. Para un array de tamaño n, el último elemento es array[n-1]. Ejemplo:
nota[0] // primer elemento
nota[4] // último elemento para tamaño 5

Puntos clave:
- El primer índice es 0, no 1.
- Para
float(4 bytes), cada índice subsiguiente incrementa la dirección en 4. - Nunca acceda más allá de
array[n-1]para evitar comportamiento indefinido.
Inicializar un array
Inicialice en la declaración:
int nota[5] = {19, 10, 8, 17, 9};
O deje que el compilador deduzca el tamaño:
int nota[] = {19, 10, 8, 17, 9};
Valores resultantes:
nota[0] = 19
nota[1] = 10
nota[2] = 8
nota[3] = 17
nota[4] = 9

Modificar elementos
int nota[5] = {19, 10, 8, 17, 9};
nota[2] = -1; // tercer elemento
nota[4] = 0; // quinto elemento
Entrada y salida
Leer en un elemento de array:
scanf("%d", ¬a[2]); // tercer elemento
scanf("%d", ¬a[i-1]); // elemento i-ésimo (basado en 1)
Imprimir un elemento:
printf("%d", nota[0]); // primero
printf("%d", nota[2]); // tercero
printf("%d", nota[i-1]); // i-ésimo
Ejemplo 1: Entrada/salida de array
#include <stdio.h>
int main() {
int valores[5];
printf("Ingrese 5 enteros: ");
for (int i = 0; i < 5; ++i) {
scanf("%d", &valores[i]);
}
printf("Mostrando enteros:\n");
for (int i = 0; i < 5; ++i) {
printf("%d\n", valores[i]);
}
return 0;
}
Salida
Ingrese 5 enteros: 1 -3 34 0 3 Mostrando enteros: 1 -3 34 0 3
Ejemplo 2: Calcular promedio
#include <stdio.h>
int main() {
int notas[10], n, suma = 0;
printf("Ingrese número de elementos: ");
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
printf("Ingrese número%d: ", i + 1);
scanf("%d", ¬as[i]);
suma += notas[i];
}
int promedio = suma / n;
printf("Promedio = %d", promedio);
return 0;
}
Salida
Ingrese n: 5 Ingrese número1: 45 Ingrese número2: 35 Ingrese número3: 38 Ingrese número4: 31 Ingrese número5: 49 Promedio = 39
Cuidado con acceso fuera de límites
Acceder a arrayPrueba[12] cuando el array tiene solo 10 elementos conduce a comportamiento indefinido—fallos, datos corruptos o errores silenciosos. Siempre valide índices antes de acceder.
Arrays multidimensionales
Hasta ahora hemos cubierto arrays unidimensionales. En el próximo tutorial, exploraremos arrays multidimensionales (arrays de arrays) y cómo usarlos efectivamente.
Lenguaje C
- Ball Grid Array (BGA) explicado: Guía completa de tecnología PCB de alta densidad
- Dominando arrays en C#: Declaración, inicialización y operaciones
- Dominando arrays escalonados en C#: Declaración, inicialización y acceso
- Cómo Pasar Arrays a Funciones en C++: Guía Práctica
- Cómo pasar arrays 1D y 2D a funciones en C – Guía práctica
- Entendiendo la relación entre arrays y punteros en C
- Arrays en C++: Declaración, inicialización y técnicas con punteros
- Asignación dinámica de arrays en C++: Guía práctica con ejemplos de código
- MATLAB: Dominando Arrays Multidimensionales y Especiales
- Técnicas de Copia de Arrays en Java: Guía Completa
- Tutorial de arrays en Java: Declaración, creación e inicialización – Código de ejemplo