Skip to main content

Vad är DereFerence -operatören?

Dereference -operatören är en symbol som används i datorprogrammering för att hämta ett värde som finns på en specifik minnesadress.Operatören, vanligtvis representerad av en asterisk i källkoden, tillämpas före en variabel som pekar på en minnesadress eller pekare.Ibland kallas indirektoperatören, kan dereference -operatören också användas när man förklarar eller initierar variabler för att indikera att de är pekare till en datatyp och inte själva datatypen.Vid bestämning av operationens ordning har dereference -operatören företräde framför nästan alla standardmatematiska operatörer.

För att förstå vad Dereference -operatören gör är det viktigt att förstå hur datatyper i datorprogrammeringsarbetet.En variabel i ett program kan ha ett värde.Många gånger är detta helt enkelt ett heltal eller en sträng av karaktärer.Andra gånger kan det vara en minnesadress som pekar på ett heltal.Variabler som innehåller minnesadresser kallas pekare.

När det är nödvändigt att tilldela, ändra eller hämta data som lagras på minnesadressen som en pekare innehåller, måste dereference -operatören användas.Om en matematisk operation, såsom tillägg, görs till en pekarvariabel utan att avskaffa den, kommer operationen att utföras på minnesadressen och inte den variabel som den pekar på.Det finns tillfällen då aritmetiska operationer som utförs på minnesadresser kan förbättra effektiviteten, som i fallet med steg genom en matris, varför denna funktionalitet finns.När DereFerence -operatören används på en pekare kommer alla operationer att utföras på de data som lagras på minnesplatsen och inte själva minnesadressen.

Operatören kan också användas när du initialt förklarar en ny variabel.Genom att placera operatören mellan variabeltypen och det variabla namnet kommer det att indikera att den nya variabeln ska vara en pekare till en datatyp och inte bara en instans av typen.Variabler som skapas på detta sätt måste initialiseras med någon typ av minnesallokeringsfunktion, eftersom pekaren måste ställas in på en oanvänd minnesplats av minneshanteraren som programmet använder.

Det finns några faror som måste behövaundvikas när du använder dereference -operatören.Framför allt är att försöka avfyra en pekare som är noll eller odefinierad.Pekaren har tekniskt inte en minnesadress, så olika fel eller undantag kommer att genereras som kommer att stoppa körningen av ett program.Nollsäkra versioner av DereFerence-operatören finns som inte kommer att orsaka ett fel, men dessa operatörer har en annan syntax.