Wat is een lege array?
De exacte definitie van wat een lege array is in computerprogrammering is niet altijd duidelijk. Een veel voorkomende interpretatie is dat een array leeg is als deze nul elementen heeft, hoewel niet alle computertalen toestaan dat een array op deze manier wordt gedeclareerd. Een andere interpretatie van een lege array is een array waarin alle gegevenselementen nul, nul of ongedefinieerd zijn, afhankelijk van de gebruikte programmeertaal. Bepaalde talen maken een onderscheid tussen een array die leeg is en een array die nog niet is toegewezen en gelijk is aan nul, hoewel andere talen een niet-toegewezen array als een lege array kunnen beschouwen.
Er zijn specifieke gevallen waarin een array binnen een programma zonder elementen kan worden gedeclareerd, wat betekent dat het geen gegevens kan bevatten en als een lege array wordt beschouwd. Dit zijn vaak dynamische arrays die het aantal elementen kunnen vergroten, omdat een array zonder elementen in wezen onbruikbaar is. In objectgeoriënteerde programmeertalen kan een lege array worden gedeclareerd in een wrapper-object van de arrayklasse dat de gegevensstructuur van de array intern onderhoudt. In sommige script- en metatalen wordt een lege array doorgegeven als een parameter voor functies die moeten worden ingevuld of toegewezen waarden uit een andere gegevensbron.
De andere betekenis van een lege array is een array die is geïnitialiseerd, zodat deze geen gegevens bevat of is gevuld met waarden die aangeven dat er geen gegevens aanwezig zijn. Dit komt omdat in talen zoals C, wanneer geheugenruimte voor een array wordt toegewezen, deze nog resterende gegevens van vorige programma's of bestanden bevat die mogelijk de ruimte hebben bezet. Om een array als deze leeg te maken, moet elk element worden doorgelust en vervolgens op een neutrale waarde worden ingesteld. Deze waarde kan de werkelijke Amerikaanse standaardcode voor informatie-uitwisseling (ASCII) -waarde nul zijn, die verschilt van het alfanumerieke teken nul. Het kan ook de waarde voor null zijn, wat betekent dat geen enkele waarde hetzelfde is als ASCII nul in sommige talen.
Het doel van het hebben van een lege array is gedeeltelijk voor efficiëntie in sommige programma's. Door een lege array te hebben, kan het programma voorkomen dat het array nutteloze of onjuiste berekeningen uitvoert. Het kan ook voorkomen dat een programma toegang krijgt tot een array die geen geldig geheugenadres heeft, waardoor een geheugentoegangsfout wordt veroorzaakt die het programma kan beëindigen. Sommige computertalen hebben ingebouwde bibliotheek- of klassenfuncties die gemakkelijk kunnen zien of een array volgens de taaldefinitie daadwerkelijk leeg is.