Vad är en rad pekare?

En rad pekare är en standarduppsättning datatyp som har en sekvens av minne riktade 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 uppgifterna 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 rad pekare som konceptet ursprungligen utformades. 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å, objektorienteradSprå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 rad pekare värdefulla som ett programmeringsverktyg är att pekarna kan hänvisa till alla typer av tillgängliga 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 datatyper i samma matris, även om programmet skulle behöva ha en mekanism för att hålla reda på vad varje pekare hänvisade till.

En kraftfull aspekt av pekare är att de faktiskt kan peka på sammanställda programkod i minnet. Detta tillåter en matrisFör att 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 att 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 få åtkomst till en felaktig adress kan leda till att skadade data läses eller, i extrema fall, till exempel en misslyckad initialisering, ett segmenteringsfel som kan göra att programmet avslutas oväntat. Försiktig programmering kan hjälpa till att mildra möjligheten för dessa händelser.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?