Hva er en char -matrise?
En rekke tegn er ofte kjent på de fleste dataprogrammeringsspråk som en char -matrise. Dette er først og fremst fordi "røye" er nøkkelordet på språk som C som brukes til å erklære en variabel av skalær karakterdatatypen. En char -matrise er en sekvens av tegn som er registrert i minnet i en lang rekke påfølgende adresser som raskt kan nås ved å bruke indeksen til et element i matrisen. I likhet med mange matriser av skalar datatyper, er fordelene ved å bruke en char-matrise for å gi mulighet for rask tilfeldig tilgang og for erstatning av verdier på vilkårlige posisjoner i matrisen.
I objektorienterte programmeringsspråk som Java®, er det viktig å forstå at en char-matrise representerer en sekvens av skalarverdier og ikke klasser eller objekter. En skalær datatype er en som bare er lagret som et stykke punkt, som et heltall. Dette i motsetning til en rekke karakterobjekter, som inneholder metoder og muligens andre støttende variabler som serialization eller synkroniseringsinformasjon.
Et tegn på de fleste dataspråk er en datatype designet for å holde en enkelt bokstav eller symbol som den er representert av karakterkodingen som brukes av programmet eller operativsystemet. Av denne grunn, bortsett fra på sterkt standardiserte språk, kan den faktiske størrelsen på et tegn i minnet være annerledes på hvert system. Denne informasjonen kan utgjøre en forskjell når du prøver å krysse en char-matrise ved hjelp av pekeraritmetikk, der i stedet for å bruke enkle økning og dekrementoperatører, må pekerberegninger bruke den systemdefinerte karakterstørrelsen. Å stole på en rekke der karakterstørrelsen er 1 byte eller 2 byte kan forårsake uforutsigbar atferd og feil hvis programmet kjøres på et annet system der et tegn kan defineres annerledes.
Innenfor noen programmer kan en rekke tegn brukes som grunnlag for implementeringen of En strengklasse eller avansert strengdatatype. På C -programmeringsspråket håndteres faktisk strenger på en måte som er veldig lik en char -matrise der en påfølgende sekvens av tegn danner strengen, og informerer programmet om at strengen har avsluttet med et nullkarakter. En tilpasset strengklasse kan være designet for å etterligne denne oppførselen med en matrise.
Andre bruksområder for en char -matrise inkluderer utførende typer komprimering eller koding som ikke nødvendigvis er basert på oktetter, men på menneskelige lesbare karakterer. Arrayen kan også tjene som en type buffer for behandling av lengre tekstblokker som holdes i en fysisk mediefil, eller en som blir lest inn fra en nettverkssokkel. De fleste av funksjonene som en char -matrise brukes, involverer tekstinngang og utgang bare fordi størrelsen på et skalar -tegn er uforutsigbar fra ett system og kompilator til et annet på mange språk, og kan ikke være avhengig av å holde heltallverdier utover et bestemt område.