Was ist der Unterschied zwischen Zeiger und Referenz?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Zeiger und Referenz ist das Pointer ist eine Variable, die die Adresse einer anderen Variable enthält, während Reference ein Alias ​​ist, um auf eine bereits vorhandene Variable zuzugreifen.

C++ ist eine Erweiterung der Sprache C. Es wird auch als Obermenge von C betrachtet. Es ist eine mächtige Sprache und hilft beim Erstellen verschiedener Anwendungen wie Betriebssysteme, Gerätetreiber usw. und bietet gleichzeitig viele Funktionen zur Implementierung von Programmen. Eine solche Funktion ist die dynamische Speicherzuweisung. Zeiger und Referenzen sind zwei Konzepte, die sich auf die dynamische Speicherzuweisung beziehen.

Zeiger, Referenz

Was ist Pointer

Ein Zeiger ist eine Variable, die die Adresse einer anderen Variablen speichert. Mit anderen Worten, es speichert die direkte Adresse eines Speicherplatzes. Der Programmierer muss einen Zeiger deklarieren, bevor er ihn zum Speichern einer Speicheradresse verwendet. Angenommen, int *ptr; es erklärt, dass ptr ein Zeiger ist, der die Adresse einer ganzen Zahl enthält. Das *-Zeichen bezeichnet eine Variable als Zeiger.

Bei der Verwendung von Zeigern sind mehrere Schritte zu befolgen. Zuerst sollte der Programmierer eine Zeigervariable definieren. Als nächstes muss er einem Zeiger die Adresse einer Variablen zuweisen. Schließlich kann der Programmierer auf den Wert zugreifen. Ein einfaches Beispiel ist wie folgt.

Abbildung 1: C++-Programm mit Zeiger

Die Variable ‚x‘hat den Wert 50. Der ptr ist ein Zeiger auf eine ganze Zahl. In Zeile 9 wird ptr die Adresse der Variablen x zugewiesen. Nun zeigt ptr auf x. Das Drucken des Werts, auf den ptr zeigt, ergibt den Wert von x, der 50 ist.

Was ist Referenz?

Eine Referenz ist ein Alias ​​für eine bereits vorhandene Variable. Nachdem die Referenz mit einer Variablen initialisiert wurde, ist es möglich, den Variablennamen oder den Referenznamen zu verwenden, um auf diese Variable zu verweisen. Normalerweise ist ein Variablenname ein Label, das hilft, den Speicherort dieser Variablen zu identifizieren. Eine Referenz kann als ein zweites Etikett betrachtet werden, das an dieser Speicherstelle angebracht ist. Daher kann der Programmierer über den Variablennamen oder die Referenz auf den Inhalt der Variablen zugreifen.

intx = 50;

Die Referenzvariable für x lautet wie folgt.

int&r = x;

Abbildung 2: C++-Programm mit Referenz

Die Variable x kann einen ganzzahligen Datentyp speichern, während r eine ganzzahlige Referenz ist, die auf x initialisiert wurde. Dann wird x der Wert 50 zugewiesen. Zeile 10 gibt den Wert von x unter Verwendung des ursprünglichen Variablennamens x aus, während Zeile 11 den Wert von x unter Verwendung der Referenz r ausgibt.

Unterschied zwischen Zeiger und Referenz

Definition

Ein Zeiger ist ein Programmiersprachenobjekt, das die Speicheradresse eines anderen Werts im Computerspeicher speichert, während eine Referenz ein Alias ​​oder ein anderer Name für eine bereits vorhandene Variable ist. Dies ist der Hauptunterschied zwischen Zeiger und Referenz.

Funktionalität

Ein Zeiger enthält die Adresse einer Speicherstelle, während eine Referenz ein Alias ​​für eine bereits vorhandene Variable ist.

Operator

Der Operator für Zeiger ist *, während der Operator für Referenz & ist.

NULL

Es kann Null-Zeiger geben, aber es kann keine Null-Referenzen geben. Dies ist ein weiterer Unterschied zwischen Zeiger und Referenz.

Initialisierung

Es ist jederzeit möglich, Zeiger zu initialisieren; eine Referenz muss jedoch beim Erstellen initialisiert werden.

Änderung

Modifikation ist ein weiterer Unterschied zwischen Zeiger und Referenz. Zeiger können jederzeit auf ein anderes Objekt zeigen. Nach dem Initialisieren eines Verweises auf ein Objekt ist es jedoch nicht möglich, ihn so zu ändern, dass er auf ein anderes Objekt verweist.

Abschluss

Zeiger und Referenzen sind zwei Konzepte, die sich auf die dynamische Speicherzuweisung in C++ beziehen. Der Hauptunterschied zwischen Zeiger und Referenz besteht darin, dass Zeiger eine Variable ist, die die Adresse einer anderen Variablen enthält, während Referenz ein Alias ​​für den Zugriff auf eine bereits vorhandene Variable ist.

Referenz:

1. „C-Zeiger“. Python-Strings (mit Beispielen), hier verfügbar.

Was ist der Unterschied zwischen Zeiger und Referenz?