Kas yra Char Array?

Simbolių masyvas daugelyje kompiuterių programavimo kalbų paprastai žinomas kaip simbolių masyvas. Taip yra visų pirma todėl, kad „char“ yra raktinis žodis tokiomis kalbomis kaip C, naudojamas deklaruoti skaliarinio simbolio duomenų tipo kintamąjį. Char masyvas yra simbolių seka, įrašyta į atmintį ilgoje iš eilės einančių adresų eilutėje, kurią galima greitai pasiekti naudojant masyve esančio elemento indeksą. Kaip ir daugelis skaliarinių duomenų tipų masyvų, char masyvo naudojimo pranašumai yra greita atsitiktinė prieiga ir reikšmių pakeitimas savavališkose masyvo vietose.

Objektinio programavimo kalbose, tokiose kaip Java®, svarbu suprasti, kad char masyvas reiškia skaliarinių reikšmių seką, o ne klases ar objektus. Skaliarinis duomenų tipas yra toks, kuris saugomas tik kaip atskaitos taško dalis, pavyzdžiui, sveikasis skaičius. Tai skiriasi nuo simbolių objektų masyvo, kuriame yra metodai ir galbūt kiti pagalbiniai kintamieji, pvz., serializavimo arba sinchronizavimo informacija.

Simbolis daugumoje kompiuterių kalbų yra duomenų tipas, skirtas laikyti vieną raidę arba simbolį, kaip jį pavaizduoja programos arba operacinės sistemos naudojama simbolių koduotė. Dėl šios priežasties, išskyrus griežtai standartizuotas kalbas, tikrasis simbolio dydis atmintyje kiekvienoje sistemoje gali skirtis. Ši informacija gali turėti įtakos bandant pereiti simbolių masyvą naudojant rodyklės aritmetiką, kai vietoj paprastų didinimo ir mažinimo operatorių, žymeklio skaičiavimams reikia naudoti sistemos apibrėžtą simbolių dydį. Pasitikėjimas masyvu, kurio simbolio dydis yra 1 baitas arba 2 baitai, gali sukelti nenuspėjamą elgesį ir klaidas, jei programa vykdoma kitoje sistemoje, kurioje simbolis gali būti apibrėžtas kitaip.

Kai kuriose programose simbolių masyvas gali būti naudojamas kaip eilutės klasės arba išplėstinio eilutės duomenų tipo diegimo pagrindas. C programavimo kalboje eilutės iš tikrųjų yra tvarkomos labai panašiai kaip char masyvas, kuriame iš eilės simbolių seka sudaro eilutę, informuodama programą, kad eilutė baigėsi nuliniu simboliu. Pasirinktinė eilutės klasė gali būti sukurta taip, kad tokia elgsena būtų imituojama naudojant masyvą.

Kiti simbolių masyvo naudojimo būdai apima glaudinimo ar kodavimo tipų atlikimą, kuris nebūtinai grindžiamas oktetais, o žmogaus skaitomais simboliais. Masyvas taip pat gali būti naudojamas kaip buferis, skirtas apdoroti ilgesnius teksto blokus, kurie laikomi fizinėje laikmenos faile arba skaitomame iš tinklo lizdo. Dauguma funkcijų, kurioms naudojamas char masyvas, apima teksto įvestį ir išvestį vien todėl, kad skaliarinio simbolio dydis yra nenuspėjamas iš vienos sistemos ir kompiliatoriaus į kitą daugeliu kalbų, todėl jomis negalima pasikliauti, kad būtų išlaikytos sveikųjų skaičių reikšmės, viršijančios tam tikras diapazonas.