Hva er en rekke pekere?
En rekke pekere er en standard array-datatype som inneholder en sekvens av minne adressert til datatyper i motsetning til å inneholde andre skalartyper som heltall eller flytende punktum. Ved å bruke en rekke pekere, kan et program ha en rekke nesten hvilken som helst datatype, datastruktur, klasse eller til og med funksjon. Effektiv sortering av en rekke pekere er også mulig, slik at adressene om ønskelig kan justeres i samsvar med deres fysiske plassering i dataminne. Noen av komplikasjonene ved å bruke en rekke pekere er at dataene lett kan ødelegges, og at typen data som pekes på, må styres internt for å forhindre problemer med minneoverløp.
Ikke alle programmeringsspråk tillater en rekke pekere ettersom konseptet opprinnelig ble unnfanget. Språk på høyt nivå som automatiserer minnestyring, bruker ikke pekere på samme måte som språk på lavere nivå, selv om teknisk sett er en rekke klasseobjekter på et høyt nivå, objektorientert språk en rekke pekere; Likevel kan de ikke brukes eller manipuleres på samme måte. På et språk på lavt nivå vil matrisen faktisk inneholde en heltallverdi som er den direkte adressen til pekeren i minnebunken. I de fleste høynivåspråk er denne funksjonaliteten ikke mulig, selv om det eksisterer alternative paradigmer.
Et av aspektene som gjør en rekke pekere verdifulle som programmeringsverktøy, er at pekerne kan referere til alle tilgjengelige data. Pekeren er en datatype i seg selv, selv om den eneste hensikten er å peke mot en annen datatype. Dette betyr at en rekke pekere faktisk kan inneholde en rekke datatyper i den samme matrisen, selv om programmet må ha en mekanisme for å holde oversikt over hva hver peker refererte til.
Et kraftig aspekt ved pekere er at de faktisk kan peke på kompilert programkode i minnet. Dette gjør at en gruppe kan peke på funksjoner, ikke bare data. En rekke funksjoner kan tillate dynamisk numerisk referanse av kode. Dette kan være nyttig når du programmerer en språktolk eller annen type programvare som trenger å ringe visse funksjoner basert på uforutsigbare innspill uten behov for store betingede uttalelser, for eksempel bryterblokker.
Noen problemer som presenteres av en rekke pekerdata er muligheten for å miste adressen, forhindre at minnet blir frigjort senere, og sjansen for at en adresse kan bli ødelagt gjennom en utilsiktet operasjon som tillegg. Forsøk på å få tilgang til en feil adresse kan føre til at ødelagte data blir lest eller i ekstreme tilfeller som en mislykket initialisering, en segmenteringsfeil som kan føre til at programmet avsluttes uventet. Forsiktig programmering kan bidra til å dempe muligheten for disse hendelsene.