Zeiger auf Zeiger

Zeiger auf Zeiger

In C ++ - Programmiersprache scheint ein Zeiger eine Variable zu sein, die die Adresse einer anderen Variablen speichern oder halten kann und verwendet wird, um sich auf einen anderen zusätzlichen Zeiger zu verweisen. Die beiden verschiedenen Verwendungen von Zeigern sind, Speicher zu sparen und die Geschwindigkeit des Prozessors zu beschleunigen.

Arten von Zeigern in C++

Verschiedene Arten von Zeigern in der C ++ - Programmiersprache werden im Folgenden geteilt und erläutert:

Null Zeiger

Ein Nullzeiger kann erstellt oder ausgeführt werden, wenn wir einen „Null“ -Wert angeben. Diese Methode ist nützlich, wenn dem Zeiger überhaupt keine Werte zugewiesen wurde. In einem Nullzeiger ist 0 immer als Zeigerwert vorhanden. Schauen wir uns die Illustration an, die Verwendung des Nullzeigers im Code zu verwenden.

#enthalten
Verwenden von Namespace STD;
int main ()

int *i = null;
Cout << "The value of variable i: " << i;
Rückkehr 0;

Zu Beginn des Code würde die Header -Datei integriert werden. Der Standard -Namespace „STD“ wird dann verwendet. Dann würde die main () -Methode ausgeführt. Hier würde der Zeiger der Variablen „I“ deklariert werden. Der Wert dieses Zeigers würde als "Null" zugewiesen. Als nächstes würde der Befehl "Cout" verwendet, um das Ergebnis zu zeigen. Um das Programm zu kündigen, würden wir eine Rendite 0 -Erklärung verwenden.

Hohlzeiger

Es gibt keinen Standard -Datentyp für den Hohlraumzeiger. Diese Art von Zeiger wird normalerweise unter Verwendung des Begriffs „Leere“ erstellt. Eine der Hauptanwendungen dieses Zeigers besteht darin, die Adresse einer anderen Variablen zu speichern oder zu behalten.

#enthalten
Verwenden von Namespace STD;
int main ()

void *z = null;
Cout << "The size of z: " << sizeof(z);
Rückkehr 0;

Die Header -Datei würde zu Beginn des Programms integriert werden. Darüber hinaus werden wir den Standard -Namespace als "std" verwenden. Die main () -Methode wird aufgerufen. Der Variable "Z" -Zeiger wird im nächsten Schritt deklariert. Wir würden den Wert „Null“ für diesen Zeiger zugewiesen. Der Befehl „Cout“ würde die Größe des erforderlichen Zeigers anzeigen. Die sizeof () -Funktion wird verwendet, um die Größe des Zeigers zu bestimmen. Mit der Anweisung der Rückgabe 0 können wir das Programm beenden.

Zeiger auf Zeiger

Wir haben bereits diskutiert, dass in C ++ ein Zeiger verwendet wird, um die Adresse einer Variablen zu halten. Ein Zeiger beschleunigt den Zugriff einer Variablen. Um die Adresse eines anderen Zeigers zu halten, kann auch ein Zeiger in C definiert werden++. In einem Zeiger auf Zeiger wird die variable Adresse im ersten Zeiger gespeichert. Andererseits wird die erste Zeigeradresse normalerweise in der zweiten oder einem anderen Zeiger gespeichert.

Syntax

Beispiel 1

Jetzt werden wir die Verwendung eines Zeigers auf Zeiger in C sehen++.

#enthalten
Verwenden von Namespace STD;
int main ()

int x = 16;
int *m;
int ** mm;
M = & x;
mm = & m;
Cout << "The address of the variable x: " << m <Cout << "The address of the variable m: " << mm <Cout << "The value stored in the variable m: " << *m <Cout << "The value stored in the variable mm: " << **mm <

Das Programm wird mit der Integration der Header -Datei gestartet . Diese Bibliothek wird für die Ausführung verschiedener Eingangs- und Ausgabefunktionen angewendet. Zunächst würden wir die Variable „x“ initialisieren und ihm den Wert zuweisen. Der Zeiger, der die Adresse der Variablen „X“ speichert. Wir würden dann einen weiteren Zeiger erstellen. Hier würden wir den ersten Zeiger auf die Adresse des „X“ angeben. Der Wert des ersten Zeigers, „M“, wäre dort, wo der Doppelzeiger zeigen würde. Wir würden die "Cout" -Anweisung viermal anrufen. Die ersten beiden "Cout" -Fandte drucken die Adresse der angegebenen Variablen und der angegebenen Zeiger.

Beispiel # 2

Schauen wir uns eine Illustration eines Zeigers an, der einen anderen Zeiger anhand der Adresse verweist.

#enthalten
Verwenden von Namespace STD;
int main ()

int v [12] = 102, 212, 870, 169, 581, 721;
int *d [] = v, v+1, v+2, v+3, v+4, v+5;
int ** dd = d;
DD ++;
Cout << dd-d,*dd - v,**dd;
*dd ++;
Cout << dd-d,*dd - v,**dd;
++*dd;
Cout << dd-d,*dd - v,**dd;
++** dd;
Cout << dd-d,*dd - v,**dd;

Die Bibliothek würde zu Beginn des Codes aufgenommen. Dieses Modul enthält die Eingangs- und Ausgangsmethoden. Jetzt würden wir die Codierung im Körper der Main () -Funktion beginnen. Hier haben wir das Array zum ersten Mal erstellt. Dieses Array enthält sechs Werte. Diese Werte werden in der Variablen "V" gespeichert.

Dann deklarieren wir das Array für den Zeiger namens "D". Im nächsten Schritt würden wir einen Doppelzeiger erklären. Dann könnten wir den Wert des Zeigers erhöhen. Der Doppelzeiger wird mit Zeigerarithmetik verwendet. Es wird als 6-Element-Array mit einer Reihe von Zeigern (d) konstruiert. Die Zeiger, die sich auf jedes Mitglied des Arrays beziehen, bilden die Elemente von „D“. Da die Basisadresse des Arrays im Namen des Arrays enthalten ist, fungiert sie als Zeiger, und auf den Wert können Sie mit *(v), *(v+1), *(v+2), *(v) zugegriffen werden +3), *(v+4), *(v+5). Am Ende würden wir den Befehl „Cout“ anwenden, um die Ausgänge anzuzeigen.

Vorteile der Verwendung der Zeiger auf Zeiger in C++

  • Der Zugriff auf Speicherorte wird bei Zeigern erleichtert.
  • Die Komponenten einer Array -Struktur können über Zeiger effizient zugegriffen werden.
  • Sowohl Deallocation als auch Dynamic Speicher Allocation erfordern Zeiger.
  • Komplexe Datenstrukturen wie verknüpfte Listen, Diagramme, Bäume usw., werden mit Zeigern erstellt.

Nachteile der Verwendung der Zeiger auf Zeiger in C++

  • Es könnte schwierig sein, Zeiger zu verstehen.
  • Zeiger können mehrere Probleme verursachen, einschließlich Segmentierungsfehler und unbefugter Speicherzugriff.
  • Speicherbeschäftigung kann aus dem Zeiger einen ungenauen Wert ergeben.
  • Speicherlecks können auch durch Zeiger auftreten.
  • Zeiger initialisieren langsamer als Variablen.
  • Da die Manipulation von Zeigern für Programmierer möglicherweise außerordentlich schwierig sein kann, müssen sie dies mit Bedacht tun.

Abschluss

In diesem Artikel haben wir die in der C ++ - Programmiersprache verwendeten Zeiger, ihre Vor-, Nachteile, Syntax und Anwendungen besprochen. Darüber hinaus haben wir den Zeiger auf Zeiger in der C ++ - Sprache besprochen. Darüber hinaus haben wir verschiedene Programme ausgeführt, um zu demonstrieren, wie und wann Zeiger auf Zeiger in C verwendet werden sollen++. Wir sehen auch, wie man den Leer- und Nullzeiger in C ++ verwendet, indem wir die Codes implementieren.