Nederlandse leereditie
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 compilerVerwacht 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.