Der Zeiger ist ein Programmiertechnik dem Programmierer auf eine Variable mit einem Speicher , sondern über Verweise auf die Variable selbst beziehen können. Es hat Vor-und Nachteile gegenüber der Verwendung von direkten Variablenzuweisungen und ist ein wichtiges Verfahren zur Programmierung Anfänger bis Mittelstufe Programmierer. Pointer Referenzierung
Wenn Sie eine Variable in einer beliebigen Programmiersprache zuweisen, wird eine bestimmte Menge an Arbeitsspeicher zur Seite, um ihre Daten zu halten gesetzt . Für einfache Variablen , wird diese in der Regel eine kleine Menge an Speicher sein, aber für Listen und Arrays von beliebiger Länge , die Größe des Speichers verwendet wird, kann extrem groß. Bestimmte Funktionen und Operationen auf Variablen durchgeführt erforderlich machen Kopieren ihrer Daten in einem Arbeitsraum , wenn die Variablen operierten groß sind, die Menge der Daten, die kopiert werden muss verlangsamen kann dem Betrieb des Programms oder in begrenztem Speicher Situationen führen das Programm . Crash
Pointers vermeiden dieses Problem, indem bookmark Orte in Speicher; Operationen werden dann auf Speicherplätzen gemacht , anstatt die eigentlichen Daten in der Variable gespeichert . Betrachten wir als Beispiel ein Programm, das mehrere tausend Datensätze lädt aus einer Datenbank in einer Array-Variablen . Wenn Sie eine Operation durchführen , wie " Rückkehr der fünfte Datensatz aus der Reihe ", in einigen nicht- optimierten Sprachen wird dies die gesamte Liste zu duplizieren , bevor die fünfte Datensatz gefunden und extrahiert werden. Ein Zeiger auf den gleichen Speicherplatz kann jedoch programmgesteuert abrufen diese Daten , ohne dass das gesamte Array intern dupliziert werden.
Pointer Fehler
Care getroffen werden müssen verstehen, die internen Abläufe einer Programmiersprache beim Zuweisen von Variablen . Betrachten Sie den folgenden Pseudocode :
a = 5b = aa = 10print b
In einigen Sprachen , die " b = a "-Betrieb wird der Wert der Variablen "a" variable " b zuzuordnen. " In diesen Fällen wird die "print b " Betrieb wieder " 5 ", das war der Wert von "a" zu dem Zeitpunkt zugewiesen war " b . " Aber auch in anderen Sprachen , " b = a " erzeugt einen Zeiger (oder Referenz) von "b" zu "a", geben die gleiche Variable zwei verschiedene Namen . In diesen Sprachen , wenn der Wert von "a" geändert wird, wird der Wert von " b " auch geändert , und das Ergebnis von "print b " wird "5".
Ebenso , wenn eine variable Zuordnung ist einfach eine Referenz, können Fehler wie folgt eingeführt werden :
a = 5b = aDELETE aprint b
In diesem Fall, wenn "b" und "a" beziehen sich auf die gleiche Variable , wenn die Variable a wird gestrichen , variable "b" nicht mehr vorhanden ist , das Programm mit einem Fehler bei der Ausführung beenden
Jede Sprache hat ihre eigenen Regeln für den Umgang mit Zeigern , Referenzen und variable Speicherplätze , so Techniken für eine gelernt . Sprache muss angepasst werden, basierend auf der Programmierumgebung Sie verwenden.