Markøren er et programmeringssprog teknik, der gør det muligt for programmøren at henvise til en variabel med en hukommelse henvisning stedet for til selve variablen . Det har fordele og ulemper over ved hjælp direkte variable opgaver og er en vigtig programmering metode til begyndere og øvede programmør. Pointer Referencing
Når du tildeler en variabel i ethvert programmeringssprog , er en vis mængde systemhukommelse afsat til at holde sine data. For simple variabler , vil dette normalt være en lille mængde hukommelse, men for lister og arrays af vilkårlig længde, kan mængden af hukommelse, der bruges være meget store. Visse funktioner og operationer udført på variabler nødvendiggør kopiering af deres data i en arbejdsplads , når de variabler der drives på , er stor, kan den mængde data , der skal kopieres bremse programmets drift eller i begrænsede hukommelse situationer programmet lade . nedbrud
Pointers undgå dette problem ved at oprette bogmærker steder i hukommelsen , operationer derefter foretaget på lagerpladser , snarere end de faktiske data er lagret i variablen . Betragt som et eksempel et program, som indlæser flere tusinde poster fra en database i et array variabel. Hvis du udfører en operation såsom " returnere den femte rekord fra array " i nogle ikke- optimerede sprog vil duplikere hele listen inden den femte rekord kan findes og udvindes. En pointer til den samme hukommelse , kan dog programmeringsmæssigt hente disse data uden at forårsage hele systemet til at blive kopieret internt.
Pointer Fejl
Care skal tages for at forstå de interne operationer i et programmeringssprog , når tildele variabler. Overvej følgende pseudokode : Hej
a = 5b = aa = 10print b
I nogle sprog er " b = a " operation vil tildele værdien af variablen " a " til variablen " b . " I disse tilfælde vil den "print b" operation vende tilbage "5 ", som var værdien af "a" på det tidspunkt fik "B ". Men i andre sprog , " b = a " opretter en pointer (eller reference) fra "b" til " a ", der giver den samme variabel to forskellige navne. I disse sprog , når værdien af "a" ændres, værdien af "b" også ændret , og resultatet af "print b" vil være "5".
Ligeledes, når en variabel opgave er simpelthen en reference, kan fejl blive indført som følger : Hej
a = 5b = ASLET aprint B
i dette tilfælde, hvis "b" og "a" henviser til samme variabel , når variablen a er slettet , variabel "b" ikke længere eksisterer , og dette program vil ende med en henrettelse fejl
Ethvert sprog har sine egne regler for håndtering af pegepinde, referencer og variable lagerpladser , så teknikker lært for én . sprog skal justeres , baseret på den programmeringsmiljø , du bruger.