Hva er et array-objekt?
Et array-objekt er et stykke data som holdes på et spesifikt sted i en blokk med sammenhengende minne. Disse minneblokkene kalles matriser, og de brukes til å gruppere lignende objekter sammen for enkel organisering og tilgang i et dataprogram. Plasseringen av et objekt i en matrise kalles en indeks; på de fleste dataspråk starter indeksen til det første objektet på 0, i stedet for 1. Et objekt trenger ikke å være til stede ved hver indeks i en matrise. For eksempel kan en matrise ha plass til fem objekter, men bare ha objekter plassert i indeksene 0, 2 og 3.
Alle objekter i en matrise må være av samme type, så hvis en matrise blir erklært å inneholde strenger, må hvert arrayobjekt være en streng. Et array-objekt kan være av en hvilken som helst størrelse og inneholde alle typer data, så lenge den generelle objekttypen er den som er oppgitt av matrisen. En strengrekke kan inneholde en streng 50 tegn lang, og den neste indeksen kan være 50 000 tegn lang; bare deres typer betyr noe. Arrayobjekter kan være enkle typer, for eksempel et nummer eller en streng, eller hvilken som helst type komplekse objekter.
Under visse omstendigheter kan et array-objekt være en helt ny matrise. Når en matrise inneholder et objekt som i seg selv er en matrise, kalles den inneholder matrisen en flerdimensjonal matrise. Det er to typer arrayobjekter i flerdimensjonale matriser: arrayobjektene som i seg selv er matriser, og objektene de sekundære arrayene har. Alle de tidligere type reglene gjelder for flerdimensjonale matriser, så hvis ett array-objekt også er en matrise, må alle de andre objektene også være matriser. Denne hekkingen av matriser kan gjøres så mange ganger som nødvendig, og lager todimensjonale rutenett, tredimensjonale terninger eller klynger med høyere nivåer av data.
Arrays, og typen array-objekt som er tillatt inne i dem, skiller seg noe mellom programmeringsspråk. Noen språk tillater fullstendig kontroll over matriser og objekter, slik at en programmerer kan opprette dem når du vil. Andre skjuler matriser og gjenstander i innpakningene som gjør at en programmerer kan manipulere dem indirekte. Atter andre språk har spesielle konstruksjoner som tvinger en matrise til å se alle objekter som samme type, og ugyldiggjør sin regel om typespesifisitet delvis uten å bryte de underliggende dataene. Uansett hvordan matriser implementeres, blir ikke selve arrayobjektene påvirket bortsett fra å bli gruppert, og evnen til å gruppere arrayobjekter er et viktig verktøy i dataorganisasjonen.