# Programmeren in C++/Arrays

Een array is een rij met gegevens van hetzelfde type. Met een array kun je zulke gegevens makkelijk bij elkaar houden. Deze gegevens worden mooi achter elkaar opgeslagen. Eén element van een array kan worden bereikt met zijn index. Deze index is de positie waarop het element zich bevindt in de rij.

## Een array aanmaken

Een array aanmaken gebeurt met "". Dit is om duidelijk te maken dat we praten over een array. Je kan ze op twee manieren aanmaken. Ofwel maak je gewoon de array aan en voeg je later de gegevens toe ofwel geef je meteen de gegevens mee.
C++-code:
Hier maken we drie arrays aan zonder gegevens mee te geven. Je kunt arrays maken van primitieve datatypes zoals int, chars, etc., maar ook van objecten zoals strings. Na de naam van de array moet je de lengte opgeven tussen "". Als je tien getallen wilt opslaan, moet je dus "[10]" opgeven. De lengte van een array moet uiteraard groter dan nul zijn, je kan er wel één maken die slechts een element heeft.
C++-code: Array aanmaken.
Hier worden aan de arrays meteen gegevens meegegeven. De verschillende elementen worden gescheiden door komma's en al de elementen staan samen tussen accolades "". Het aantal elementen dat je meegeeft, mag niet meer zijn dan de lengte van de array, maar het mogen er wel minder zijn.
Als alle waarden van de array worden meegegeven, kan de compiler zelf de lengte van de array bepalen en hoven we die niet op te geven.
C++-code: Array aanmaken.

## Werken met gegevens van een array

Dit is heel simpel. Wat je enkel nodig hebt is de naam van de array waarmee je wilt werken en het volgnummer van het element dat je wil aanspreken. Eerst zullen we zien hoe je gegevens kunt opslaan.
C++-code: Gegevens opslaan in een array.
Net zoals toen je de array aanmaakte, maak je gebruik van "". Hiertussen typ je op welke plaats je iets wilt opslaan. Let op, de index van arrays is zero-based, net als in andere talen zoals C, java, php, enz. Dit wil zeggen dat wanneer je iets wilt opslaan op de eerste plaats, je niet 1 intypt maar 0. Wil je iets op plaats 2 opslaan typ je 1 enzoverder. Een array die 4 elementen lang is, heeft dus als indices 0, 1, 2 en 3.

## Een array benaderen met een lus

Een array benaderen doe je het best met een for-lus, maar je kunt dit natuurlijk met de andere ook doen.
C++-code:
Uitvoer:
De variabele i zal worden gebruikt als index voor de array en begint natuurlijk met 0. De for-lus zal vervolgens al de 4 elementen tonen op het scherm. In de for-lus hebben we gezegd dat hij moet door gaan als i minder dan 4 is. 4 is de lengte van onze array. Het is echter niet dynamisch om daar een 4 te typen, want als we de array willen verlengen naar 5 elementen, moeten we dit ook hierin aanpassen. Hiervoor bestaat de functie sizeof.
C++-code:
De functie sizeof is bedoeld om de lengte van iets te weten in bytes. Als we dat gebruiken op de array "getallen" krijgen we 16. We hebben echter slechts 4 elementen in onze array. De reden dat we 16 krijgen is omdat we de lengte van de array berekenen in bytes. Een int is namelijk 4 bytes lang en we hebben 4 elementen. 4 maal 4 maakt dus 16. Daarom moeten we eerst nog de 16 delen door de lengte van een int.

## Tweedimensionale array (matrix)

Je kunt een array in C++ ook meer dan een dimensie geven:
int a[3] = {1,2,3}; is eendimensionaal
int a[3][3] = {{1,2,3}, {4,5,6},{7,8,9}} is tweedimensionaal
Zo'n tweedimensionale array of matrix kun je natuurlijk voor veel toepassingen gebruiken. Denk daarbij aan tabellen en matrices.
Om een goede uitvoer te krijgen op het scherm is het van belang om elke 'coördinaat' (index) aan te geven. Dit kun je bereiken door een dubbele for-loop te gebruiken.
C++-code:
Uitvoer: