Unterschied zwischen Zeiger und Referenz
Autor:
Laura McKinney
Erstelldatum:
1 April 2021
Aktualisierungsdatum:
11 Kann 2024
Inhalt
Der „Zeiger“ und der „Verweis“ werden beide verwendet, um auf eine andere Variable zu verweisen oder diese zu referenzieren. Der grundlegende Unterschied zwischen beiden besteht jedoch darin, dass eine Zeigervariable auf eine Variable zeigt, deren Speicherort darin gespeichert ist. Die Referenzvariable ist ein Alias für eine ihr zugeordnete Variable. In der folgenden Vergleichstabelle werden die anderen Unterschiede zwischen einem Zeiger und einer Referenz erläutert.
- Vergleichstabelle
- Definition
- Hauptunterschiede
- Fazit
Vergleichstabelle
Vergleichsbasis | Zeiger | Referenz |
---|---|---|
Basic | Der Zeiger ist die Speicheradresse einer Variablen. | Die Referenz ist ein Alias für eine Variable. |
Kehrt zurück | Die Zeigervariable gibt den Wert zurück, der sich an der Adresse befindet, die in der Zeigervariablen gespeichert ist, der das Zeigerzeichen * vorangestellt ist. | Die Referenzvariable gibt die Adresse der Variablen zurück, der das Referenzzeichen & vorangestellt ist. |
Betreiber | *, -> | & |
Null-Referenz | Die Zeigervariable kann auf NULL verweisen. | Die Referenzvariable kann niemals auf NULL verweisen. |
Initialisierung | Ein nicht initialisierter Zeiger kann erstellt werden. | Eine nicht initialisierte Referenz kann niemals erstellt werden. |
Zeitpunkt der Initialisierung | Die Zeigervariable kann zu jedem Zeitpunkt im Programm initialisiert werden. | Die Referenzvariable kann nur zum Zeitpunkt ihrer Erstellung initialisiert werden. |
Reinitialisierung | Die Zeigervariable kann beliebig oft neu initialisiert werden. | Die Referenzvariable kann im Programm nie wieder neu initialisiert werden. |
Definition von Zeiger
Ein „Zeiger“ ist eine Variable, die den Speicherort einer anderen Variablen enthält. Die von der Zeigervariable verwendeten Operatoren sind * und ->. Die Deklaration der Zeigervariable enthält den Basisdatentyp, gefolgt vom * -Zeichen und dem Variablennamen.
Typ * var_name;
Verstehen wir den Zeiger anhand eines Beispiels.
int a = 4; int * ptr = & a; cout <Bezugsoperator ist &.
Hinweis:
Java unterstützt keine Zeiger.
Fazit
Der Zeiger und die Referenz werden beide verwendet, um auf eine andere Variable zu verweisen oder diese zu referenzieren. Beide unterscheiden sich jedoch in ihrer Verwendung und Implementierung.