Wat is een Char-array?
Een reeks tekens is in de meeste computerprogrammeertalen algemeen bekend als een reeks tekens. Dit komt vooral omdat "char" het sleutelwoord is in talen zoals C dat wordt gebruikt om een variabele van het gegevenstype scalaire tekens aan te geven. Een char-array is een reeks tekens die in het geheugen zijn vastgelegd in een lange rij opeenvolgende adressen die snel toegankelijk zijn via de index van een element in de array. Zoals vele arrays van scalaire gegevenstypes, zijn de voordelen van het gebruik van een char-array snelle willekeurige toegang mogelijk en vervanging van waarden op willekeurige posities binnen de array.
In objectgeoriënteerde programmeertalen zoals Java®, is het belangrijk te begrijpen dat een char array een reeks scalaire waarden vertegenwoordigt en geen klassen of objecten. Een scalair gegevenstype is er een dat alleen wordt opgeslagen als een gegeven, zoals een geheel getal. Dit in tegenstelling tot een reeks tekenobjecten, die methoden en mogelijk andere ondersteunende variabelen bevatten, zoals serialisatie of synchronisatie-informatie.
Een teken in de meeste computertalen is een gegevenstype dat is ontworpen om een enkele letter of symbool te bevatten, omdat het wordt weergegeven door de tekencodering die wordt gebruikt door het programma of besturingssysteem. Om deze reden kan, behalve in sterk gestandaardiseerde talen, de werkelijke grootte van een teken in het geheugen op elk systeem verschillen. Deze informatie kan een verschil maken wanneer u probeert een tekenset te doorkruisen met behulp van pointeraritmetiek, waarbij pointerberekeningen in plaats van eenvoudige increment- en decrement-operators de door het systeem gedefinieerde tekengrootte moeten gebruiken. Vertrouwen op een array waarin de tekengrootte 1 byte of 2 bytes is, kan onvoorspelbaar gedrag en fouten veroorzaken als het programma wordt uitgevoerd op een ander systeem waarin een teken anders kan worden gedefinieerd.
Binnen sommige programma's kan een reeks tekens worden gebruikt als basis voor de implementatie van een stringklasse of geavanceerd stringgegevenstype. In de C-programmeertaal worden strings in feite op dezelfde manier behandeld als een char array waarin een opeenvolgende reeks tekens de string vormt, waarmee het programma wordt geïnformeerd dat de string is geëindigd met een nul-teken. Een aangepaste tekenreeksklasse kan worden ontworpen om dit gedrag te emuleren met een array.
Andere toepassingen voor een char array omvatten het uitvoeren van soorten compressie of codering die niet noodzakelijkerwijs is gebaseerd op octetten, maar op door mensen leesbare tekens. De array kan ook dienen als een type buffer voor de verwerking van langere blokken tekst die zich in een fysiek mediabestand bevinden, of een die wordt ingelezen vanuit een netwerksocket. De meeste functies waarvoor een char-array wordt gebruikt, betreffen tekstinvoer en -uitvoer eenvoudig omdat de grootte van een scalair teken van het ene systeem en compiler naar het andere in veel talen onvoorspelbaar is en er dus niet op kan worden vertrouwd dat het gehele getallen boven een bepaald bereik.