Programación en C: introducción a los arreglos
Siguiente entrega sobre la serie de programación en lenguaje C, esta vez para introducir el tema de los arreglos (arrays). Unas estructuras de datos algo más complejas que lo visto hasta el momento, pero que si se llegan a comprender, no presentan demasiada dificultad.
Lo que haré en este artículo es introducir los arrays y sus tipos, así como dejar algunos ejemplos de código fuente sencillos para que puedas comenzar a comprender estas estructuras. Como verás, serán snippets sencillos para que puedas distinguir entre los arreglos unidimensionales y los multidimensionales .
ÍNDICE:
¿Qué es un array?
Un arreglo o array es básicamente una estructura de datos almacenada como una sola variable. Hasta el momento habíamos visto variables y constantes, pero en este caso es una estructura algo más compleja, ya que se compone de varios elementos de un mismo tipo. Por ejemplo, podía ser una lista finita de números o de palabras que se almacenarían en celdas contiguas de memoria.
Cada uno de esos elementos se distinguen por un índice o subíndice al que se puede apuntar con un puntero para acceder a dicha posición del array. Además, también se podría escribir código para acceder de forma aleatoria a estos elementos de los que se compone el arreglo.
Tipos
Si atendemos al tipo de array, se pueden encontrar los siguientes tipos:
Unidimensional
Un array de tipo unidimensional es básicamente un vector de datos o lista. Dicho de otro modo, es un conjunto de variables del mismo tipo y tamaño que ocupan posiciones consecutivas en una memoria. El tamaño de la memoria ocupada por el array es siempre fijo y no se puede variar.
Un ejemplo sencillo para este tipo de arreglo sería este programa que te pide introducir unos números para guardarlos en las posiciones del arreglo y luego muestra el contenido del array:
#include<stdio.h> int main() { int arreglo[5], i; for (i = 0; i < 5; i++) { printf ("Introduce el dato de la posición [%d]: ", i); scanf("%d", &arreglo[i]); } printf("\nLos elementos del arreglo son: \n\n"); for(i = 0; i < 5; i++) { printf("%d ", arreglo[i]); } return 0; }
Bidimensional
Un array de tipo bidimensional es básicamente una tabla o matriz de datos. Es decir, tienen varias filas y columnas, siendo el resto de detalles común a los unidimensionales.
Un ejemplo sencillo sería este otro programa que hace lo mismo que el unidimensional, pero guarda los valores en dos dimensiones:
#include<stdio.h> int main(){ int arreglo[2][3]; int i, j; for(i=0; i<2; i++) { for(j=0;j<3;j++) { printf("Introduce el valor de la posición [%d][%d]:", i, j); scanf("%d", &arreglo[i][j]); } } printf("Los elementos del array son:\n"); for(i=0; i<2; i++) { for(j=0;j<3;j++) { printf("%d ", arreglo[i][j]); if(j==2){ printf("\n"); } } } return 0; }
Multidimensionales
No son tan usados como los anteriores, pero deberías saber que existen también de tipo multidimensional, es decir, que tienen más de dos dimensiones.
En próximos artículos de esta serie me adentraré más a fondo en cada uno de estos tipos, así como el uso de los punteros, que tantos quebraderos de cabeza generan a los que están comenzando en la programación…
Excelente información . . . Gracias !!!