Programmeren in C++/Arrays: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Pagina leeggehaald door gebruiker
Spacebirdy (overleg | bijdragen)
Versie 88409 van 81.242.179.35 (overleg) ongedaan gemaakt.
Regel 1:
{{Programmeren in C++}}
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.
{{code
|Taal= C++
|Titel=
|Code=
<source lang=cpp>
int getallen[10];
char tekens[20];
string teksten[30];
</source>
}}
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.
{{code
|Taal= C++
|Titel= Array aanmaken.
|Code=
<source lang=cpp>
int getallen[1]={1};
char tekens[2]={'a','b'};
string teksten[3]={"dit","is","tekst."};
</source>
}}
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.
 
==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.
{{code
|Taal= C++
|Titel= Gegevens opslaan in een array.
|Code=
<source lang=cpp>
int getallen[0]= 1;
char tekens[1]= 'c';
string teksten[2]= "nog tekst.";
</source>
}}
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.
{{code
|Taal= C++
|Titel=
|Code=
<source lang=cpp>
int getallen = {1, 2, 3, 4}
 
for(int i = 0; i < 4; i++){
cout<<getallen[i]<<endl;
}
</source>
}}
Uitvoer:
<pre>
1
2
3
4
</pre>
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().
{{code
|Taal= C++
|Titel=
|Code=
<source lang=cpp>
int getallen = {1, 2, 3, 4}
 
for(int i = 0; i < sizeof(getallen)/sizeof(int); i++){
cout<<getallen[i]<<endl;
}
</source>
}}
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.
==2 dimensionale array(matrix)==
{{TeDoen|wat=Bespreken van matricen + voorbeelden. Hoe maakt je ze aan en hoe werk je ermee.|geplaatst door=[[Gebruiker:Sephiroth|Sephiroth]] 29 dec 2007 20:44 (CET)}}
==multi-dimensionale array==
{{TeDoen|wat=Bespreken van multi-dimensionale array's + voorbeelden. Hoe maakt je ze aan en hoe werk je ermee.|geplaatst door=[[Gebruiker:Sephiroth|Sephiroth]] 29 dec 2007 20:44 (CET)}}
[[Categorie:Programmeren in C++|Array's]]
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.