Algoritmos

Introducción a los arreglos en C

Introducción

Vamos a ver un tutorial de cómo trabajar con arreglos, arrays o vectores en el lenguaje de programación C. Veremos cómo inicializar un arreglo, recorrerlo o modificarlo.

Nota: en este caso array, vector y arreglo son la misma cosa.

Declaración de un vector o array

La sintaxis es:

tipo nombreDeLaVariable[longitudDelArreglo];

Por ejemplo, para declarar un array de 3 enteros usamos esto:

int numeros[3];

Para uno de 5 elementos de tipo double esto:

double calificaciones[5];

Declaración y llenado de un array

En los ejemplos de arriba declaramos los arreglos pero no les pusimos datos iniciales, sólo dijimos cuánto medirán. Para poner datos iniciales la sintaxis es:

tipo nombreDeLaVariable[longitud] = {elemento1, elemento2,…};

Aquí tenemos un array de 3 números enteros, inicializado al inicio:

See the gist on github.

También puede ser de tipo doble:

See the gist on github.

Por otro lado, podemos dejar que el compilador infiera la longitud del vector si nosotros lo inicializamos:

See the gist on github.

En este caso la longitud es de 4, pero no tuvimos que decirla porque el compilador la inferirá. Y no afectará al rendimiento de nuestro programa.

Modificar el valor de un arreglo

Podemos cambiar el valor que tiene un valor dentro de un array. Recordemos que los vectores comienzan en 0. Si tenemos este arreglo:

See the gist on github.

Y hago lo siguiente:

See the gist on github.

El contenido será “Luiz” en lugar de “Luis”

Leer un array

Podemos acceder a un array igualmente a través de su índice. Por ejemplo, si tenemos este arreglo:

See the gist on github.

Y queremos asignar una variable a la posición 2 (la que tiene el número 200) podemos hacer esto

See the gist on github.

Ahora miNumero tendrá el valor de 200

Recorrer un arreglo

Para recorrer un arreglo usamos un ciclo for que va desde 0 hasta la longitud de nuestro arreglo. Por ejemplo, el siguiente código imprime el valor y el índice de un arreglo:

See the gist on github.

La salida del programa será la siguiente:

Recorrer array de una dimensión en C

Declaración de array bidimensional o de dos dimensiones

Anteriormente vimos los arreglos como una lista simple, pero también podemos tener arreglos de dos dimensiones.

Veamos este ejemplo que especifica un arreglo que representa un teclado matricial:

See the gist on github.

Como dice el código: debemos declarar el tamaño de todas las dimensiones, pero podemos dejar la primera vacía. Esto quiere decir que este código es válido:

See the gist on github.

En este caso no pusimos la longitud de la primera dimensión, pero sí de la segunda. Para aclarar más las cosas, este código es inválido:

See the gist on github.

Ya que estamos dejando que el compilador adivine la longitud de la segunda dimensión, cosa que no es válida. Si intentamos compilar de todos modos, saldrá este error:

note: declaration of ‘teclado’ as multidimensional array must have bounds for all dimensions except the first

Leer array de dos dimensiones

Con el ejemplo del arreglo de arriba vamos a ver este código para recorrerlo.

En este caso recorremos tanto en X como en Y. Podemos imaginar el arreglo como una tabla. Para acceder a él, usamos lo siguiente:

<em>arreglo[x][y]</em>

Aquí el código:

See the gist on github.

Creamos 2 ciclos; uno dentro del otro. Para abstraerlo mejor, al primer índice lo tomamos como el índice de la fila. Y al segundo índice lo tomamos como el índice de la celda. Esta es la salida:

Recorrer arreglo de dos dimensiones en C

Todo lo que vimos con arreglos de una dimensión aplica para estos arreglos de dos dimensiones. Podemos declararlos sin inicializar sus datos, leerlos o modificarlos.

Arreglos de más dimensiones

Es algo muy raro pero podemos usar arreglos de 3, 4, 5 o infinitas dimensiones. No se me ocurre para qué pero aquí dejo la declaración de un arreglo de 2 x 2 x 3; es decir, uno de 3 dimensiones:

See the gist on github.

Para recorrerlo hacemos lo mismo de siempre…

See the gist on github.

Con la siguiente salida:

Recorrer arreglo de tres dimensiones en C

Conclusión

La mayoría de ejemplos fueron con arreglos de tipo char pero igualmente podemos trabajar con arreglos de cualquier tipo.

Por cierto, también podemos acceder a un índice dependiendo de una variable. En lugar de esto:

arreglo[2] = 'M';

Podemos tener algo así:

See the gist on github.

Igualmente para leerlo. En lugar de esto:

printf("El valor es: %c", arreglo[2]);

Podemos tener esto:

See the gist on github.

Espero que haya quedado claro este pequeño tutorial de arreglos en C.

Si quieres ver más tutoriales de C puedes hacer click aquí.

Cualquier duda déjala en los comentarios.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

23 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

2 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

2 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

3 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.