Wat is een array-object?
Een arrayobject is een stuk gegevens dat op een specifieke plaats in een blok aaneengesloten geheugen wordt bewaard. Deze geheugenblokken worden arrays genoemd en worden gebruikt om vergelijkbare objecten te groeperen voor eenvoudige organisatie en toegang binnen een computerprogramma. De locatie van een object in een array wordt een index genoemd; in de meeste computertalen begint de index van het eerste object bij 0 in plaats van 1. Een object hoeft niet bij elke index in een array aanwezig te zijn. Een array kan bijvoorbeeld ruimte hebben voor vijf objecten, maar alleen objecten kunnen worden geplaatst op indexen 0, 2 en 3.
Alle objecten in een array moeten van hetzelfde type zijn, dus als een array wordt verklaard strings te bevatten, moet elk arrayobject een string zijn. Een arrayobject kan elke grootte hebben en elk type gegevens bevatten, zolang het algemene objecttype het type is dat door de array wordt aangegeven. Een stringarray kan één string van 50 tekens bevatten en de volgende index kan 50.000 tekens lang zijn; alleen hun typen doen ertoe. Matrixobjecten kunnen eenvoudige typen zijn, zoals een nummer of tekenreeks, of elk type complex object.
In bepaalde omstandigheden kan een arrayobject een geheel nieuwe array zijn. Wanneer een array een object bevat dat zelf een array is, wordt de array een multidimensionale array genoemd. Er zijn twee soorten arrayobjecten in multidimensionale arrays: de arrayobjecten die zelf arrays zijn, en de objecten die secundaire arrays bevatten. Alle regels van het vorige type zijn van toepassing op multidimensionale arrays, dus als een arrayobject ook een array is, moeten alle andere objecten ook arrays zijn. Dit nesten van arrays kan zo vaak als nodig worden gedaan, waarbij tweedimensionale rasters, driedimensionale kubussen of gegevensclusters van een hoger niveau worden gemaakt.
Arrays en het type arrayobject dat erin is toegestaan, verschillen enigszins tussen de programmeertalen. Sommige talen bieden volledige controle over arrays en hun objecten, waardoor een programmeur ze naar believen kan maken. Anderen verbergen de arrays en objecten in wikkels waarmee een programmeur ze indirect kan manipuleren. Nog andere talen hebben speciale constructies die een array dwingen om alle objecten als hetzelfde type te zien, waardoor de regel over typespecificiteit gedeeltelijk ongeldig wordt zonder de onderliggende gegevens te verbreken. Hoe arrays ook worden geïmplementeerd, de arrayobjecten zelf worden nooit beïnvloed, behalve om te worden gegroepeerd, en de mogelijkheid om arrayobjecten te groeperen is een belangrijk hulpmiddel in de gegevensorganisatie.