De pointer is een programmeer techniek waarmee de programmeur om te verwijzen naar een variabele met een geheugenreferentie in plaats van de variabele zelf . Het heeft voordelen en nadelen ten opzichte van gebruik van directe variabele opdrachten en is een belangrijke programmering methode voor de beginner tot intermediaire programmeur . Wijzer Verwijzen Wanneer u een variabele toewijzen in elke programmeertaal , is een bepaalde hoeveelheid systeemgeheugen gereserveerd om de data op te slaan . Voor eenvoudige variabelen , is dat meestal een kleine hoeveelheid geheugen , maar voor lijsten en arrays van willekeurige lengte , kan de hoeveelheid gebruikt geheugen extreem groot zijn . Bepaalde functies en handelingen die op variabelen noodzaken kopiëren van de gegevens in een werkruimte , wanneer de variabelen geopereerd groot , kan de hoeveelheid data die moet worden gekopieerd vertragen de werking van het programma , of beperkt beschikbaar geheugen , want het programma . crash Pointers vermijden dit probleem door het creëren van referentie plaatsen in geheugen operaties vervolgens worden op geheugenlocaties in plaats van de feitelijke gegevens opgeslagen in de variabele . Beschouwen als een voorbeeld van een programma dat enkele duizenden platen laadt uit een database in een array variabele . Als u een bewerking zoals voeren , " de terugkeer van de vijfde record uit de array , " in sommige niet - geoptimaliseerde talen zal dit de hele lijst te dupliceren voordat de vijfde record kan worden gevonden en gewonnen . Een pointer naar dezelfde geheugenlocatie echter programmatisch kan deze gegevens op te halen zonder dat de hele array om intern worden gedupliceerd . Wijzer Fouten Care moeten worden genomen om inzicht in de interne werking van een programmeertaal bij het toewijzen van variabelen . Beschouw de volgende pseudocode : a = 5 b = aa = 10print b In sommige talen , de " b = een " operatie zal de waarde van de variabele " a " toewijzen aan variabele " b . " In deze gevallen zal de "print b " operatie terug " 5 , " waarbij de waarde van " a " was op het moment dat werd toegewezen aan " b . " In andere talen " b = a " creëert een pointer ( of referentie ) van " b " naar " a ", die dezelfde variabele twee namen . Te ontvangen, wanneer de waarde van " a " wordt gewijzigd , de waarde " b" wordt ook veranderd , en het resultaat van "print b " zal Evenzo worden " 5 . " , Als een variabele toewijzing is als referentie , kunnen fouten als volgt aangebracht: a = 5b = AWIS APrint b In dit geval, als " b" en "a" verwijst naar dezelfde variabele als de variabele a wordt verwijderd , variabele " b " niet meer bestaat ; dit programma wordt afgesloten met een executie fout Elke taal heeft zijn eigen regels voor het omgaan met pointers , referenties en variabele geheugen locaties , dus geleerde technieken voor een. taal moet worden aangepast , op basis van de programmeeromgeving die u gebruikt .
|