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
- Zeiger speichern Speicheradressen von Variablen oder Objekten, während Referenzen als Aliase für vorhandene Variablen fungieren.
- Zeiger können anderen Speicheradressen neu zugewiesen werden, während Verweise nach der Initialisierung nicht geändert werden können.
- 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.
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
Vergleichsparameter | Zeiger | Referenz |
---|---|---|
Definition | Die 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-Referenz | Einem Zeiger kann ein Nullwert zugewiesen werden. | Eine Referenzvariable hat keine Nullwertzuweisung. |
Syntax | Datentyp *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. |
Initialisierung | Nicht initialisierte Zeiger können erstellt werden. | Referenzen können niemals in einem nicht initialisierten erstellt werden |
Reinitialisierung | Pointer-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.
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.
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
- Auf eine Zeigervariable wird bypass by reference verwiesen, während auf eine Referenzvariable bypass by value verwiesen wird.
- 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.
- Zeiger unterstützen die Verwendung Arithmetik Operatoren und fungieren als Operanden, während Referenzvariablen nicht mit arithmetischen Operationen kompatibel sein können.
- 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.
- Zeiger haben Deklarationsvorteile, wohingegen Referenzen nur initialisiert werden.
- https://link.springer.com/article/10.1023/A:1015362608943
- https://dl.acm.org/doi/pdf/10.1145/99583.99599
Letzte Aktualisierung: 11. Juni 2023
Sandeep Bhandari hat einen Bachelor of Engineering in Computers von der Thapar University (2006). Er verfügt über 20 Jahre Erfahrung im Technologiebereich. Er interessiert sich sehr für verschiedene technische Bereiche, darunter Datenbanksysteme, Computernetzwerke und Programmierung. Sie können mehr über ihn auf seinem lesen Bio-Seite.
Ich schätze die ausführliche Erläuterung der Hinweise und Referenzen. Es ist eine großartige Ressource für diejenigen, die Programmieren lernen.
Dies ist eine großartige Lektüre für diejenigen, die in die Welt des Programmierens und Codierens eintauchen.
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.
Ich stimme zu. Über diese Konzepte gibt es viel zu lernen.
Großartiger Artikel. Sehr informativ und aufschlussreich.
Es ist wichtig, Hinweise und Referenzen zu verstehen. Dieser Artikel bietet ein umfassendes Verständnis dieser Konzepte.
Die Vergleichstabelle war sehr hilfreich, um die Unterschiede zwischen Zeigern und Referenzen zu verstehen.
Der Artikel hat Klarheit zu einem verwirrenden Thema geschaffen.
Ich unterstütze das. Es machte es einfacher, das Konzept zu verstehen.
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.
Vielen Dank für den informativen Artikel.
Zeiger und Referenzen spielen bei der Programmierung eine entscheidende Rolle. Es ist gut, Informationen über ihre Unterschiede zu finden.