Programación C · 3 min read · Feb 14, 2026
Tutorial de Programación en C de Linux Parte 7: Arreglos

Así que ya hemos discutido el concepto de variables en la programación en C (aquí y aquí). Para refrescar rápidamente, una variable es algo que puede contener un valor de un tipo particular: podría ser un entero, un carácter o incluso un punto flotante. Sin embargo, hay una limitación de las variables: solo pueden contener un solo valor en un momento dado.
Esto significa que si deseas contener varios valores, tendrás que lidiar con un número igual de variables. Por ejemplo, si quieres que un programa acepte 10 valores enteros del usuario y luego los muestre, entonces o lo escribirás de esta manera:
#include
int main()
{
int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;
printf("Ingresa 10 valores enteros\n");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
scanf("%d",&d);
scanf("%d",&e);
scanf("%d",&f);
scanf("%d",&g);
scanf("%d",&h);
scanf("%d",&i);
scanf("%d",&j);
printf("Has ingresado los siguientes valores:\n");
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n",d);
printf("%d\n",e);
printf("%d\n",f);
printf("%d\n",g);
printf("%d\n",h);
printf("%d\n",i);
printf("%d\n",j);
return 0;
} O de la siguiente manera:
#include
int main()
{
int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;
printf("Ingresa 10 valores enteros\n");
scanf("%d %d %d %d %d %d %d %d %d %d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
printf("Has ingresado los siguientes valores:\n");
printf("%d %d %d %d %d %d %d %d %d %d\n",a,b,c,d,e,f,g,h,i,j);
return 0;
} El segundo enfoque puede ser ligeramente mejor si lo comparas en términos de líneas de código escritas, pero aún hay una mejor manera, y esa es usar un arreglo de enteros.
Sí, si hay un requisito para contener múltiples valores del mismo tipo, entonces deberías optar por un arreglo. Aquí está cómo se define un arreglo de enteros capaz de contener 10 valores:
int arr[10]Así que aquí, ‘int’ se refiere al tipo de valores que el arreglo ‘arr’ almacenará. El número 10 en corchetes cuadrados indica que la capacidad de ‘arr’ es de 10 valores. Ahora, aquí hay un fragmento de código que utiliza este arreglo:
#include
int main()
{
int arr[10],i;
printf("Ingresa 10 valores enteros\n");
for(i=0;i<10;i++)
scanf("%d",&(arr[i]));
printf("Has ingresado los siguientes valores:\n");
for(i=0;i<10;i++)
printf("%d\n",arr[i]);
return 0;
} Ten en cuenta que ya hemos discutido las funciones scanf y printf en uno de nuestros tutoriales anteriores, así que puedes referirte a esos artículos en caso de que quieras saber más sobre ellas.
Volviendo a los arreglos, habrás observado que el bucle ‘for’ en el código anterior comienza con i=0. Eso es porque los subíndices de los arreglos (el número dentro de los corchetes cuadrados) siempre comienzan desde cero. Así que aquí, en nuestro caso, arr[0] se refiere al primer valor ingresado por el usuario, arr[1] se refiere al segundo valor, y así sucesivamente hasta arr[9] que se refiere al décimo valor.
También vale la pena mencionar que puedes acceder fácilmente a la dirección de memoria de cada valor almacenado en el arreglo. Esto se puede hacer usando el nombre del arreglo, que es ‘arr’ en este caso. Así que si usas solo ‘arr’ en el código, entonces no es más que la dirección de memoria del primer elemento.
De manera similar, si deseas acceder a la dirección de memoria del segundo elemento, solo usa ‘arr+1’. Para el tercer elemento, usa ‘arr+2’, y así sucesivamente. El siguiente fragmento de código y su salida deberían darte una mejor idea.
#include
int main()
{
int arr[10],i;
printf("La dirección de los primeros y segundos valores son: %u %u\n", arr, arr+1);
return 0;
} Y aquí está la salida:
La dirección de los primeros y segundos valores son: 2904035888 2904035892Como puedes ver, hay una diferencia de 4 bytes en estas direcciones, eso es porque un valor entero ocupa 4 bytes en mi sistema.
Aquí, en este tutorial, discutimos los conceptos básicos de los arreglos. Ten en cuenta que solo dimos un ejemplo de un arreglo de enteros. También puedes tener arreglos de otros tipos, como caracteres. Prueba los ejemplos que hemos utilizado en este tutorial, y háznoslo saber en la sección de comentarios a continuación si tienes alguna duda o consulta.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.