Hvad er en char array?
En række karakterer er almindeligt kendt i de fleste computerprogrammeringssprog som en char array. Dette skyldes primært, at "char" er nøgleordet på sprog som C, der bruges til at erklære en variabel af datatypen for skalartegn. En char array er en sekvens af tegn, der er optaget i hukommelsen i en lang række på hinanden følgende adresser, der hurtigt kan fås adgang til ved hjælp af indekset for et element i arrayet. Ligesom mange matriser af skalardatatyper er fordelene ved at bruge en char array at give mulighed for hurtig tilfældig adgang og til udskiftning af værdier på vilkårlige positioner i matrixen.
I objektorienterede programmeringssprog som Java® er det vigtigt at forstå, at et char array repræsenterer en sekvens af skalarværdier og ikke klasser eller objekter. En skalær datatype er en, der kun gemmes som et stykke nulpunkt, som et heltal. Dette er i modsætning til en række karakterobjekter, der indeholder metoder og muligvis andre understøttende variabler såsom serialisering eller synkroniseringsoplysninger.
Et tegn på de fleste computersprog er en datatype designet til at indeholde et enkelt bogstav eller symbol, da det er repræsenteret af den tegnkodning, der bruges af programmet eller operativsystemet. Af denne grund, med undtagelse af stærkt standardiserede sprog, kan den faktiske størrelse på en karakter i hukommelsen være forskellig på hvert system. Denne information kan gøre en forskel, når man forsøger at krydse et char array ved hjælp af pegearkematik, hvor i stedet for at bruge enkle forøgelses- og dekrementoperatorer skal pointerberegninger bruge den systemdefinerede tegnstørrelse. At stole på en matrix, hvor karakterstørrelsen er 1 byte eller 2 byte, kan forårsage uforudsigelig opførsel og fejl, hvis programmet køres på et andet system, hvor et tegn kan defineres forskelligt.
Inden for nogle programmer kunne en række karakterer bruges som grundlag for implementeringen af en strengklasse eller avanceret strengdatatype. I programmeringssprog C håndteres strenge faktisk på en måde, der meget ligner en char-array, hvor en rækkefølge af tegn danner strengen, der informerer programmet om, at strengen er afsluttet med et null-tegn. En brugerdefineret strengklasse kunne designes til at efterligne denne opførsel med en matrix.
Andre anvendelser til et char array inkluderer udførelse af typer komprimering eller kodning, der ikke nødvendigvis er baseret på oktetter, men på menneskelige læsbare tegn. Arrayet kan også tjene som en type buffer til behandling af længere blokke tekst, der er indeholdt i en fysisk mediefil, eller en, der læses ind fra en netværksstik. De fleste af de funktioner, som en char array bruges til, involverer tekstinput og output, simpelthen fordi størrelsen på en skalarisk karakter er uforudsigelig fra et system og kompilator til et andet på mange sprog, og derfor ikke kan være afhængig af at holde heltalværdier ud over et bestemt rækkevidde.