Online C Compiler
Abrir en el compilador

Edición didáctica en español. El código y sus salidas conservan el original.

Arrays en C

Trabaja con índices, recorridos, matrices y longitudes explícitas sin salir de los límites.

Abrir en el compilador

Arrays en C
Trabaja con índices, recorridos, matrices y longitudes explícitas sin salir de los límites.

Un array contiene elementos consecutivos del mismo tipo. Un array de N elementos usa índices desde 0 hasta N - 1. C no comprueba automáticamente los índices; acceder fuera del objeto provoca comportamiento indefinido.

Inicializa los datos antes de leerlos. Usa un bucle cuyo límite coincida con la longitud y comprueba las lecturas de entrada. Cuando pases el array a una función, pasa también su tamaño.

Una matriz de C es un array de arrays, almacenado por filas. La función que la recibe necesita información suficiente sobre sus dimensiones para calcular correctamente cada dirección. No confundas una matriz con un array de punteros.

En el ámbito donde existe el array completo, sizeof array / sizeof array[0] obtiene su número de elementos. Esta fórmula no funciona sobre un parámetro que ya es un puntero. Prueba arrays de un elemento y revisa siempre el primer y el último índice.

Código C

#include <stdio.h>

int main(void) {
    int scores[5] = {70, 85, 90, 65, 100};
    int grid[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };
    int n = sizeof(scores) / sizeof(scores[0]);
    int sum = 0;

    for (int i = 0; i < n; i++) {
        sum += scores[i];
    }
    printf("Elements: %d\n", n);
    printf("Sum: %d\n", sum);
    printf("Average: %.1f\n", (double)sum / n);

    printf("2D array:\n");
    for (int r = 0; r < 2; r++) {
        for (int c = 0; c < 3; c++) {
            printf("%d ", grid[r][c]);
        }
        printf("\n");
    }
    return 0;
}
Abrir en el compilador

Salida esperada

Elements: 5
Sum: 410
Average: 82.0
2D array:
1 2 3 
4 5 6 

Preguntas frecuentes

¿Por qué el código y la salida siguen en inglés?

Las palabras clave, los identificadores y los textos que verifican las pruebas se conservan para no cambiar el programa. Las explicaciones y los controles están traducidos.