Arrays en C explicados: Almacenamiento y acceso eficiente de datos
Los arrays son una estructura de datos que almacena una colección secuencial de tamaño fijo de elementos del mismo tipo. Se usa para almacenar una colección de datos, pero es más útil pensar en un array como una colección de variables del mismo tipo.
En lugar de declarar variables individuales como numero0, numero1, ..., numero99, declaras una variable array como numeros y usas numeros[0], numeros[1], ..., numeros[99] para acceder a elementos individuales. Un elemento específico se accede por índice.
Todos los arrays consisten en ubicaciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la más alta al último.
Declaración de arrays
Para declarar un array en C, especificas el tipo de elementos y el número requerido:
tipo nombreArray[tamañoArray];
Esto se llama array unidimensional. tamañoArray debe ser constante entera > 0 y tipo cualquier tipo de dato C válido. Ejemplo: array de 10 elementos balance de tipo double:
double balance[10];
balance puede contener hasta 10 números double.
Inicialización de arrays
Puedes inicializar uno a uno o en una sola sentencia:
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
El número de valores entre llaves { } no puede exceder el número de elementos declarados entre corchetes [ ].
Si omites el tamaño, se crea un array justo para la inicialización:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
Ejemplo para asignar un solo elemento:
balance[4] = 50.0;
Asigna el 5º elemento (índice 4) con valor 50.0. Todos los arrays tienen índice 0 como primer elemento (índice base) y el último índice es tamaño total - 1. Representación gráfica:
Acceso a elementos de array
Se accede indexando el nombre del array: índice entre corchetes tras el nombre. Ejemplo:
double salario = balance[9];
Toma el 10º elemento y asigna su valor a salario. Ejemplo completo con declaración, asignación y acceso:
#include <stdio.h>
int main() {
int n[10]; /* array de 10 enteros */
int i, j;
/* inicializar elementos a 0 */
for (i = 0; i < 10; i++) {
n[i] = i + 100; /* elemento en posición i = i + 100 */
}
/* mostrar cada valor */
for (j = 0; j < 10; j++) {
printf("Elemento[%d] = %d\n", j, n[j]);
}
return 0;
}
Resultado:
Elemento[0] = 100 Elemento[1] = 101 Elemento[2] = 102 Elemento[3] = 103 Elemento[4] = 104 Elemento[5] = 105 Elemento[6] = 106 Elemento[7] = 107 Elemento[8] = 108 Elemento[9] = 109
Arrays en detalle
Conceptos importantes relacionados con arrays que todo programador C debe conocer:
| Nº | Concepto y Descripción |
|---|---|
| 1 | Arrays multidimensionales: C los soporta. La forma más simple es el array bidimensional. |
| 2 | Pasar arrays a funciones: pasas un puntero al array especificando su nombre sin índice. |
| 3 | Retornar array desde función: C permite que una función retorne un array. |
| 4 | Puntero a array: generas puntero al primer elemento simplemente usando el nombre del array sin índice. |
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