Introducción a los arreglos en C

Publicado por parzibyte en

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:

Para uno de 5 elementos de tipo double esto:

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:

También puede ser de tipo doble:

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

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:

Y hago lo siguiente:

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:

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

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:

La salida del programa será la siguiente:

Recorrer array de una dimensión en C

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:

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:

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:

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:

arreglo[x][y]

Aquí el código:

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

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:

Para recorrerlo hacemos lo mismo de siempre…

Con la siguiente salida:

Recorrer arreglo de tres dimensiones en C

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:

Podemos tener algo así:

Igualmente para leerlo. En lugar de esto:

Podemos tener esto:

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.


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

2 Comments

Mayor y menor de 3 números en C - Parzibyte's blog · septiembre 18, 2018 a las 8:51 pm

[…] Nota: como vamos a ver arreglos, recomiendo que veas: Arreglos en C […]

Elemento aleatorio de arreglo en C - Parzibyte's blog · marzo 26, 2019 a las 6:00 am

[…] que ya hablamos sobre los arreglos en C y sobre los arreglos de cadenas en […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: