Zeiger vs. Referenz: Unterschied und Vergleich

C und C++ sind die am häufigsten verwendeten Programmiersprachen, da dies die grundlegenden Anfängertüren zur Programmierwelt sind. Zeiger und Referenzen sind einige der nützlichsten Einrichtungen, die diese Sprachen bieten. Zeiger werden in C und C++ verwendet, und Verweise werden in C++, Python und anderen Sprachen unterstützt.

Key Take Away

  1. Zeiger speichern Speicheradressen von Variablen oder Objekten, während Referenzen als Aliase für vorhandene Variablen fungieren.
  2. Zeiger können anderen Speicheradressen neu zugewiesen werden, während Verweise nach der Initialisierung nicht geändert werden können.
  3. Zeiger erfordern eine explizite Dereferenzierung, um auf den Wert zuzugreifen, auf den sie zeigen, während Referenzen direkt verwendet werden können, wie die ursprüngliche Variable.

Zeiger vs. Referenz

Ein Zeiger ist eine Variable, die die Speicheradresse einer anderen Variablen erhält, und sie kann im Programm mehrmals initialisiert werden, je nachdem, wie oft sie benötigt wird. Eine Referenz ist eine alternative Programmvariable und kann im gesamten Programm nur einmal initialisiert werden.

Zeiger vs. Referenz

Ein Zeiger ist eine Variable, die die Adresse oder Position einer anderen Variablen als Wert hat. Sie können überall in einem Programm mit Operatoren wie '*' und '->' initialisiert werden. Eine Zeigervariable kann auch auf null gesetzt werden und sie unterstützen auch die Neuinitialisierung. Der Basisdatentyp deklariert Zeiger, gefolgt von einem Sternchen und dem Namen des Zeigers. 

Eine Referenz ist eine Variable mit einem anderen Namen für eine bereits subtile Programmvariable. Sobald eine Referenzvariable angelegt ist, sollte diese initialisiert werden. Es erstellt einen Alias ​​für eine andere Variable. Der &-Operator wird für verwendet Design Verweise. Sie bestehen aus dem Basisdatentyp, gefolgt von „&“ und dem Namen der Variablen.

Vergleichstabelle

VergleichsparameterZeigerReferenz
DefinitionDie Variable, die die Speicheradresse einer anderen Variablen enthält, wird Zeigervariable genannt.Eine Referenz ist ein Alias ​​für eine andere Variable, eine Referenz darauf.
Null-ReferenzEinem Zeiger kann ein Nullwert zugewiesen werden.Eine Referenzvariable hat keine Nullwertzuweisung. 
SyntaxDatentyp *PointerName; Dabei ist Datatype der Basisdatentyp und PointerName der Name des deklarierten Zeigers.Datentyp &Referenzname = OtherVariable; Dabei ist ReferenceName der Name der Referenz und AnotherVariable die Variable, auf die verwiesen wird.
InitialisierungNicht initialisierte Zeiger können erstellt werden.Referenzen können niemals in einem nicht initialisierten erstellt werden
ReinitialisierungPointer-Variablen können je nach Bedarf im Programm immer wieder neu initialisiert werden.Eine Referenzvariable kann nur einmal in einem Programm initialisiert werden.

Was ist Zeiger?

Kurz gesagt, ein Zeiger ist eine Variable, die den Speicherort oder die Adresse einer beliebigen anderen Variablen in einem Programm enthält. Zeiger sind in C und C++ funktionsfähig. Eine Zeigervariable speichert den Adressort der Zeigevariablen. Pointer-Variablen können deklariert und dann mit der Variable initialisiert werden, deren Adresse ermittelt werden soll.

Lesen Sie auch:  Nomad vs Corpo: Unterschied und Vergleich

Außerdem sind sie übersichtlich, da ein Integer-Zeiger nur die Adresse einer Integer-Variablen enthalten kann. Pointer haben eine eindeutige Deklarationsweise. Beispielsweise ist int *point ein Zeiger auf eine Variable vom Typ int, und double *ABC ist ein Zeiger auf eine Variable vom Datentyp double. Dasselbe Konzept gilt auch für andere Datentypen. Daher wird ein Zeiger auf folgende Weise deklariert:

int *Zeigervariable;

Nach der Deklaration des Zeigers wird die Zeigervariable der Variablen zugewiesen, deren Adresse ermittelt werden soll. Die obige Deklarationsanweisung verwendet einen Zeiger, der den Wert einer Integer-Variablen speichert. 

Zeigervariable = &a;

Hier ist a die auf der anderen Seite des Programms verwendete Ganzzahlvariable, deren Adresse in einem Variablenzeiger gespeichert ist. Zeiger geben auch die Haftung um neu initialisiert zu werden. Ihre Werte können je nach Bedarf geändert werden. 

Was ist Referenz?

Eine Referenzvariable ist ein Alias ​​für eine andere Variable. Mit anderen Worten, die Variable, die auf eine andere existierende Variable eines Programms verweist, wird als Referenzvariable betrachtet.

Sie haben eine Einschränkung dahingehend, dass sie keinem Nullwert zugewiesen werden können und nicht deklariert werden können, sie werden nur initialisiert. Nach dem Erstellen einer Referenz kann auf die Variable über den Referenznamen oder über ihren ursprünglichen Namen zugegriffen werden. Referenzen werden direkt initialisiert. Beispiel, 

int &ref = var;

Dabei ist ref der Name der Referenzvariablen und zeigt auf die Variable var, die in einem anderen Teil des Programms initialisiert wird. Wenn die Werte von ref und var ausgegeben werden, wird beobachtet, dass ref und var denselben Wert haben. Zeiger sparen Speicherplatz, da sie bei der Übergabe als Argumente an eine Funktion den ursprünglichen Speicherort für jeden Funktionsaufruf verwenden.

Lesen Sie auch:  MariaDB vs. MySQL: Unterschied und Vergleich

Referenzvariablen bieten keine Neuinitialisierung, und diese sind nur einmal initialisiert und eindeutig. Referenzen zeigen nicht auf eine Variable, indem ihre Adresse an einem separaten Speicherort gespeichert wird. Einfach ausgedrückt ist eine Referenzvariable ein alternativer Name für eine vorhandene Variable. Dies sind nur Aliase im anderen Namen der Variablen, auf die verwiesen werden soll.

Hauptunterschiede zwischen Zeiger und Referenz

  1. Auf eine Zeigervariable wird bypass by reference verwiesen, während auf eine Referenzvariable bypass by value verwiesen wird.
  2. Zeiger unterstützen die Möglichkeit, auf andere Zeiger zu zeigen, wohingegen Referenzen diesen Vorteil vermissen lassen. Eine Referenzvariable kann nicht auf mehrere Variablen zeigen.
  3. Zeiger unterstützen die Verwendung Arithmetik Operatoren und fungieren als Operanden, während Referenzvariablen nicht mit arithmetischen Operationen kompatibel sein können.
  4. Die Größe und Speicheradresse einer Pointer-Variablen befindet sich auf dem Stack, während eine Referenzvariable die Speicheradresse der ursprünglichen Variablen hat, aber auch etwas Platz auf dem Stack beansprucht. 
  5. Zeiger haben Deklarationsvorteile, wohingegen Referenzen nur initialisiert werden.
Bibliographie
  1. https://link.springer.com/article/10.1023/A:1015362608943
  2. https://dl.acm.org/doi/pdf/10.1145/99583.99599

Letzte Aktualisierung: 11. Juni 2023

Punkt 1
Eine Bitte?

Ich habe mir so viel Mühe gegeben, diesen Blogbeitrag zu schreiben, um Ihnen einen Mehrwert zu bieten. Es wird sehr hilfreich für mich sein, wenn Sie es in den sozialen Medien oder mit Ihren Freunden / Ihrer Familie teilen möchten. TEILEN IST ♥️

12 Gedanken zu „Zeiger vs. Referenz: Unterschied und Vergleich“

  1. Ich schätze die ausführliche Erläuterung der Hinweise und Referenzen. Es ist eine großartige Ressource für diejenigen, die Programmieren lernen.

    antworten
  2. C und C++ verfügen über die Grundlagen, es ist jedoch wichtig, Zeiger und Referenzen zu verstehen, was für Anfänger etwas verwirrend sein kann.

    antworten
  3. C und C++ sind die am häufigsten verwendeten Programmiersprachen, da dies die grundlegenden Anfängertüren zur Programmierwelt sind. Zeiger und Referenzen sind einige der nützlichsten Einrichtungen, die diese Sprachen bieten. Zeiger werden in C und C++ verwendet, und Verweise werden in C++, Python und anderen Sprachen unterstützt.

    antworten

Hinterlasse einen Kommentar

Möchten Sie diesen Artikel für später speichern? Klicken Sie auf das Herz in der unteren rechten Ecke, um in Ihrer eigenen Artikelbox zu speichern!