1-D arrays: store, index, and traverse · Arreglos 1-D: almacenar, indexar y recorrer
Una fila de cajas
- Un array (arreglo) es una fila de variables del mismo tipo, almacenadas lado a lado en la memoria.
int a[5];reserva espacio para cincoint. Constituyen un solo bloque, al que se accede mediante un número.- Puedes inicializarlos al crearlos:
int a[] = {10, 20, 30};crea un array de tres elementos.
Indexación desde 0
- Cada elemento tiene un índice (una posición). El primer índice es
0, no1. a[0]es el primer elemento,a[1]el segundo, ya[n - 1]es el último en un array denelementos.- Leer o escribir fuera del array (como
a[5]en un array de 5 elementos) constituye un error grave.
Recorrido con un bucle
- Para visitar cada elemento, haz variar el índice de
0hastan - 1usando un buclefor. - Dentro del bucle, usa
a[i]para leer o modificar el elemento en la posicióni. - Así es como sumas, cuentas o buscas dentro de un array.
Los arrays no conocen su propia longitud
- Un array no guarda su propio tamaño. Una función no puede preguntar "¿cuánto mides?".
- Por lo tanto, siempre debes pasar la longitud junto con el array:
sum(a, n). - Usa
const int a[]en un parámetro para garantizar que solo leerás el array, sin modificarlo.
#include <stdio.h>
int main(void) {
int a[] = {10, 20, 30, 40};
int n = 4, total = 0;
for (int i = 0; i < n; i++) {
total += a[i];
}
printf("%d\n", total); // 100
return 0;
}
Errores comunes
- C NO verifica los límites del array: acceder a
a[n]en un array de tamañones indefinido. - Los índices válidos van de
0an - 1.
Ahora tú intentas
- Pasa tanto el array como su longitud
n, y recorre el índice de0an - 1. - Para las tareas de función, no escribas un
main; el validador proporcionará uno.
Arrays are indexed · Los arreglos están indexados
An array stores values in order; reach one with a[i]. · Un arreglo almacena valores en orden; accede a uno con a[i].
The array a and its length n are given. In main, add up all n items and print the total on its own line. · Se dan el arreglo a y su longitud n. En main, suma todos los n elementos e imprime el total en una línea separada.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
Complete int sum(const int a[], int n) so it returns the total of the array's n items (0 when n is 0). Do not · no write a main. · Completa int sum(const int a[], int n) para que devuelva el total de los n elementos del array (0 cuando n es 0). No escribas un main.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
Complete void double_all(int a[], int n) so it doubles every item of the array, in place (no return value). Do not · no write a main. · Completa void double_all(int a[], int n) para que duplique cada elemento del arreglo in situ (sin valor de retorno). No escribas un main.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.