? Donald Knuth , derzeit Professor Emeritus von "The Art of Computer Programming " an der Stanford University, sagte im Jahr 1974 , dass er Zeigervariablen als " , um unter die wertvollsten Schätze der Informatik sein . " Doch mehr als drei Jahrzehnte später , werden Zeiger noch verwirrend viele Beginn Programmierer. Zusätzlich Programmierer verwenden oft Zeiger falsch , so Code funktioniert nicht wie geplant und das Problem wird noch getrübt und verwirrend. Ein Zeiger ist für Adressen
Pointers Variablen, die die Adresse einer anderen Variablen enthalten sind , damit sie "Punkt" auf die andere Variable. Programmierer sind in der Regel mit der Idee von Variablen - zum Beispiel eine Variable " x " mit dem Wert von 25 Jahren. Ein Zeiger auf "x " erfahren Sie, wo der Wert von 25 ist eigentlich im Speicher abgelegt. Drucken Sie den Inhalt einer Zeigervariable würde zeigen eine Speicher -Adresse , die traditionell in hexadezimaler gedruckt. Drucken Sie den Inhalt von "x " angezeigt werden würde 25 . Die Adresse einer Variablen ist nicht so verschieden von dem Konzept eines Briefes mit einer Postanschrift auf den Umschlag gedruckt . Die Adresse sagt der Briefträger , wo um den Umschlag zu liefern. Der Inhalt der Hülle sind getrennt von der Adresse. Die Adresse einer Variablen ist, wo im Speicher die Inhalte einer Variablen gespeichert werden.
Erklärung
Die Deklaration eines Zeigers ist spezifisch für die Programmiersprache. Zum Beispiel die Aussage " float y = 25.5, * = pointer_to_y &y; " deklariert und initialisiert eine Gleitkomma- Variable " y" und einen Zeiger Variable. Drucken Sie den Wert von "y" ergäbe 25.5, beim Drucken den Wert von " pointer_to_y " ergeben würde , wobei " y" im Speicher abgelegt wird .
Verwendung von Zeigern
< br >
Ein wichtiger Ort für Zeiger ist in Eingang . Wenn Sie den Benutzer zu fragen, um eine Zahl einzugeben , müssen Sie diese Zahl irgendwo speichern. Um Ihre Eingabe Funktion sagen, wo Sie den Wert zu speichern , müssen Sie geben die Adresse einer Variable, die " & number_of_students " in C wäre, wenn Sie angeben, nur " number_of_students , " werden Sie über den aktuellen Wert in der Variable gespeichert reden , wie der Inhalt des Umschlags erwähnt, statt , wo man die Eingabe des Benutzers zu speichern.
Funktionen
Es ist ineffizient , um große Mengen von Daten an Funktionen übergeben . Zeiger erlauben Ihnen passieren , wo die Daten gespeichert sind , dass Ihre Funktion muss . Ihre Funktion Zugriff auf die benötigten Daten ohne den Overhead der Weitergabe der Daten an die Routine.
Komplexe Datenstrukturen
Erweiterte Programmierung Probleme erfordern erweiterte Programmierung Lösungen und Datentypen. Programmierer können nicht einfach alle Probleme lösen mit einfachen integer, Gleitkomma-und Character-Datentypen . Programmierer verwenden verkettete Listen oft in Programmen , insbesondere bei der Sortierung komplexer Datenmengen . Eine verkettete Liste ist einfach eine Sammlung von Daten, wie zB den Namen eines Mitarbeiters , ID und zahlen Rate , in einer Datenstruktur gespeichert. Neben die Daten des Mitarbeiters , enthält jede Datenstruktur einen Zeiger auf den nächsten Datenstruktur in der Liste. Umstellen Mitarbeiter-Datensätze ist eine Frage der Neuordnung der Zeiger , anstatt große Mengen von Daten zu bewegen, um einfach eine Liste neu anordnen .