Mikä on Char Array?

Merkkiryhmä tunnetaan useimmissa tietokoneohjelmointikielissä yleisesti char -taulukkona. Tämä johtuu pääasiassa siitä, että ”char” on avainsana C: n kaltaisilla kielillä, jota käytetään ilmoittamaan skalaarisen merkin tietotyypin muuttuja. Char -taulukko on merkkijono, joka on tallennettu muistiin pitkällä rivillä peräkkäisiä osoitteita, joihin pääsee nopeasti käsiksi käyttämällä taulukon elementin indeksiä. Kuten monet skalaaritietotyypit, char -matriisin käytön edut ovat nopea satunnainen pääsy ja arvojen korvaaminen mielivaltaisissa paikoissa taulukossa.

Objektipohjaisissa ohjelmointikielissä, kuten Java®, on tärkeää ymmärtää, että char-taulukko edustaa skalaariarvojen sarjaa eikä luokkia tai objekteja. Skalaarinen tietotyyppi on sellainen, joka tallennetaan vain datumin osana, kuten kokonaisluku. Tämä on ristiriidassa merkkiobjektien joukon kanssa, joka sisältää menetelmiä ja mahdollisesti muita tukimuuttujia, kuten sarjoitus- tai synkronointitietoja.

Useimpien tietokoneiden kielten merkki on tietotyyppi, joka on suunniteltu yhdelle kirjaimelle tai symbolille, koska sitä edustaa ohjelman tai käyttöjärjestelmän käyttämä merkkikoodaus. Tästä syystä, lukuun ottamatta vahvasti standardoituja kieliä, muistissa olevan merkin todellinen koko voi olla erilainen kussakin järjestelmässä. Näillä tiedoilla voi olla merkitystä, kun yritetään kulkea merkkijonon avulla osoittimen aritmeettisella menetelmällä, jossa yksinkertaisten lisäys- ja vähennysoperaattoreiden käyttämisen sijaan osoitinlaskelmien on käytettävä järjestelmän määrittämää merkkikokoa. Joukko, jossa merkkikoko on 1 tavu tai 2 tavua, voi aiheuttaa arvaamatonta käyttäytymistä ja virheitä, jos ohjelma suoritetaan toisessa järjestelmässä, jossa merkki voidaan määritellä eri tavalla.

Joissakin ohjelmissa merkkijonoa voitaisiin käyttää merkkijonoluokan tai kehittyneen merkkijonon tietotyypin toteuttamisen perustana. C -ohjelmointikielellä merkkijonoja käsitellään itse asiassa hyvin samalla tavalla kuin char -taulukkoa, jossa peräkkäinen merkkisarja muodostaa merkkijonon ja ilmoittaa ohjelmalle, että merkkijono on päättynyt nollamerkkiin. Muokattu merkkijonoluokka voitaisiin suunnitella jäljittelemään tätä käyttäytymistä taulukon avulla.

Muita char -matriisin käyttötapoja ovat pakkaus- tai koodaustyyppien suorittaminen, jotka eivät välttämättä perustu okteteihin, vaan ihmisten luettaviin merkkeihin. Matriisi voisi myös toimia puskurityyppinä pidempien tekstilohkojen käsittelyyn, joita pidetään fyysisessä mediatiedostossa, tai sellaista, jota luetaan verkkoliittimestä. Suurin osa funktioista, joihin käytetään char -matriisia, liittyy tekstinsyöttöön ja -lähtöön yksinkertaisesti siksi, että skalaarimerkkiä ei voida ennakoida järjestelmästä ja kääntäjästä toiseen monilla kielillä, joten siihen ei voida luottaa kokonaislukuarvojen pitämisessä tietty alue.