Online C Compiler
Apri nel compilatore

Edizione didattica italiana

Array nel linguaggio C

Esplora indici e matrici mantenendo espliciti lunghezze e limiti.

Apri nel compilatore

Array nel linguaggio C
Esplora indici e matrici mantenendo espliciti lunghezze e limiti.

Un array contiene elementi consecutivi dello stesso tipo. Per N elementi, gli indici validi vanno da 0 a N - 1. C non controlla automaticamente gli indici: un accesso fuori dai limiti ha comportamento indefinito.

Inizializza i dati prima di leggerli, scegli il limite corretto del ciclo e verifica gli input. Quando passi un array a una funzione, passa anche il numero di elementi validi.

Una matrice C è un array di array memorizzato per righe. La funzione deve conoscere abbastanza dimensioni per calcolare gli indirizzi. Una matrice e un array di puntatori non hanno la stessa rappresentazione.

Dove è disponibile l’array completo, sizeof array / sizeof array[0] calcola il numero di elementi. Non funziona su un parametro puntatore. Prova un solo elemento e il primo e ultimo indice ammessi.

Codice sorgente

#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;
}
Apri nel compilatore

Risultato atteso

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

Domande frequenti

Perché il codice e alcuni risultati restano in inglese?

Parole chiave C, identificatori, commenti del programma e output attesi restano quelli originali per preservare codice eseguibile e test coerenti. Spiegazioni e istruzioni sono tradotte.