Online C Compiler
Openen in de compiler

Nederlandse leereditie

Arrays in de programmeertaal C

Werk met indices en matrices terwijl lengtes en grenzen expliciet blijven.

Openen in de compiler

Arrays in de programmeertaal C
Werk met indices en matrices terwijl lengtes en grenzen expliciet blijven.

Een array bevat opeenvolgende elementen van hetzelfde type. Bij N elementen lopen geldige indices van 0 tot N - 1. C controleert indices niet automatisch: toegang buiten de grenzen geeft ongedefinieerd gedrag.

Initialiseer gegevens vóór het lezen, kies de juiste lusgrens en controleer invoer. Geef bij een arrayargument ook het aantal geldige elementen door.

Een C-matrix is een array van arrays, opgeslagen per rij. Een functie moet voldoende dimensies kennen om adressen te berekenen. Een matrix en een array van pointers hebben niet dezelfde voorstelling.

Waar het volledige array beschikbaar is, berekent sizeof array / sizeof array[0] het aantal elementen. Dat werkt niet bij een pointerparameter. Test één element en de eerste en laatste toegestane index.

Broncode

#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;
}
Openen in de compiler

Verwacht resultaat

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

Veelgestelde vragen

Waarom blijven code en sommige resultaten Engels?

C-sleutelwoorden, namen, programmacommentaar en verwachte uitvoer blijven gelijk aan het origineel om uitvoerbare code en consistente tests te behouden. Uitleg en instructies zijn vertaald.