Skip to main content

Vad är en rad pekare?

En rad pekare är en standarduppsättning datatyp som har en sekvens av minne riktad till datatyper i motsats till att hålla andra skalartyper som heltal eller flytande punktnummer.Genom att använda en rad pekare kan ett program ha en rad nästan alla datatyp, datastruktur, klass eller till och med funktion.Effektiv sortering av en rad pekare är också möjlig så att om så önskas kan adresserna anpassas efter deras fysiska plats i datorminnet.Några av komplikationerna med att använda en rad pekare är att data lätt kan skadas och att den typ av data som pekas på måste hanteras internt för att förhindra minnesöverflödesproblem.

Inte alla programmeringsspråk tillåter en mängd pekare somKonceptet utformades ursprungligen.Språk på hög nivå som automatiserar minneshantering använder inte pekare på samma sätt som språk på lägre nivå, även om det tekniskt sett är en rad klassobjekt i en hög nivå, objektorienterat språk är en rad pekare;Trots det kan de inte användas eller manipuleras på samma sätt.På ett lågnivåspråk kommer matrisen faktiskt att ha ett heltal som är den direkta adressen till pekaren i minneshögen.På de flesta språk på hög nivå är denna funktionalitet inte möjlig, även om alternativa paradigmer finns.

En av de aspekter som gör en mängd pekare värdefulla som ett programmeringsverktyg är att pekarna kan referera till alla tillgängliga typer av data.Pekaren är en datatyp i sig själv, även om dess enda syfte är att peka mot en annan datatyp.Detta innebär att en mängd pekare faktiskt kan innehålla en mängd olika datatyper i samma matris, även om programmet skulle behöva ha en mekanism för att hålla reda på vad varje pekare refererade till.

En kraftfull aspekt av pekare är att de faktiskt kanpeka på sammanställd programkod i minnet.Detta gör att en matris kan peka på funktioner, inte bara data.En mängd funktioner kan möjliggöra dynamisk numerisk referens av kod.Detta kan vara användbart när man programmerar en språktolk eller annan typ av programvara som måste kalla vissa funktioner baserade på oförutsägbara input utan behov av stora villkorade uttalanden som switchblock.

Vissa problem som presenteras av en mängd pekdata är möjligheten möjlighetatt förlora adressen, förhindra att minnet frigörs senare, och chansen att en adress kan skadas genom en oavsiktlig operation som tillägg.Försök att komma åt en felaktig adress kan leda till att skadade data läses eller, i extrema fall, till exempel en misslyckad initialisering, ett segmenteringsfel som kan leda till att programmet avbryter oväntat.Försiktig programmering kan hjälpa till att mildra möjligheten till dessa händelser.