Wie implementiere ich Zeiger in C ++?



Dieser Artikel führt Sie in das Konzept der Zeiger in C ++ ein und führt anschließend eine unterstützende praktische Demonstration durch.

Zeiger in C ++ ist eine Variable, die die Adresse einer anderen Variablen in c ++ enthält. Die Adresse wird in der Zeigervariablen gespeichert und hilft bei der Implementierung von Call-by-Reference.

Die folgenden Hinweise werden in diesem Artikel behandelt:





Beginnen Sie mit diesem Artikel über Zeiger auf C ++

Syntax:



Datentyp * Zeigername BEISPIEL: int * ptr
  • Eine Zeigervariable hat ein * -Zeichen vor ihrem Namen.
  • Ein Zeiger wird auch als Locator oder Indikator bezeichnet.

Verwendung des Zeigers:

  • Dynamische Speicherzuordnung
  • In verschiedenen Programmen von Arrays, Struktur und Funktionen

Hier ist ein Beispielcode:

#include using namespace std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Ausgabe:
Ausgabezeiger in C ++ - Edureka



Erläuterung:

Im obigen Programm zeigen wir die grundlegende Funktionsweise eines Zeigers. Wir haben eine ganzzahlige Variable num mit dem Wert 17. Wir haben die Zeigervariable ptr vom Typ int. Wir weisen dem Zeiger ptr die Adresse num zu.

Wir drucken zuerst den Wert von ptr, das ist die Adresse. Als nächstes drucken wir den num-Wert und am Ende drucken wir den Wert an der Stelle, die vom Zeiger ptr gehalten wird.

Fahren Sie mit diesem Artikel über Zeiger auf C ++ fort

Zeiger und Arrays:

Wir können das erste Element eines Arrays als Zeiger betrachten, da der Arrayname die Adresse des ersten Elements enthält. Wir können einen Zeiger folgendermaßen verwenden.

Hier ist ein Beispielcode:

wie man ein Java-Programm kompiliert
#include using namespace std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Ausgabe: 

Erläuterung:

Im obigen Programm zeigen wir die grundlegende Funktionsweise eines Zeigers mit einem Array. Wir haben ein Array arr mit den Werten 5,10,20. Wir haben die Zeigervariable ptr vom Typ int. Wir weisen dem Zeiger ptr die Adresse von arr zu.

Wir drucken zuerst den Wert von ptr [0], das ist das erste Element des Arrays. Als nächstes drucken wir das zweite bzw. dritte Element. Da Array-Elemente nacheinander gespeichert werden, kann der Zeiger durch Inkrementieren auf die andere Position des Arrays zugreifen.

Java-Skript Popup-Nachricht

Fahren Sie mit diesem Artikel über Zeiger auf C ++ fort

Nullzeiger:

Es gibt Zeigertypen, die keinen Wert haben und einen Nullwert enthalten

Beispiel ::

int * ptr = NULL

Sie sind sehr nützlich in Datenstrukturen wie einer verknüpften Liste.

Fahren Sie mit diesem Artikel über Zeiger auf C ++ fort

Leere Zeiger:

Dies sind die Zeigertypen, die keinen Rückgabetyp haben.

Fahren Sie mit diesem Artikel über Zeiger auf C ++ fort

Zeigerarithmetische Operation:

An Zeigern können verschiedene Operationen ausgeführt werden. Hier sind einige wichtige Typen.

  • inkrementiert (++)
  • dekrementiert (-)
  • Differenz zwischen zwei Zeigern (p1-p2)
  • Hinzufügen einer Ganzzahl zu einem Zeiger (+ oder + =)
  • Subtraktion einer ganzen Zahl von einem Zeiger (- oder - =)

Hier ist ein Code, um einige dieser Vorgänge zu demonstrieren:

#include using namespace std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr für (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Ausgabe:

Erläuterung:

Wir zeigen eine einfache arithmetische Operation der Inkrementierung der Zeigervariable, die im obigen Programm gezeigt wird.

Fahren Sie mit diesem Artikel über Zeiger auf C ++ fort

Zeiger auf Zeiger:

In diesem Systemtyp gibt es zwei Zeiger. Der erste Zeiger zeigt auf den zweiten Zeiger und der zweite Zeiger zeigt auf die Variable, die den Wert enthält.

wann man das benutzt. in Java

Hier ist ein Beispielcode:

#include using namespace std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Ausgabe:

Fahren Sie mit diesem Artikel über Zeiger auf C ++ fort

Zeiger auf Funktionen:

Dies ist eine Möglichkeit, Zeiger auf Funktionen zu übergeben. Der Funktionsparameter muss als Zeigertyp deklariert werden. Es wird im folgenden Code gezeigt,

#include using namespace std float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Ausgabe

So übergeben wir einen Zeiger auf eine Funktion.

Damit sind wir am Ende dieses Artikels über „Zeiger in C ++“ angelangt. Wenn Sie mehr erfahren möchten, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen. wurde entwickelt, um Sie sowohl für Kern- als auch für fortgeschrittene Java-Konzepte zusammen mit verschiedenen Java-Frameworks wie Hibernate & Spring zu schulen.

Hast du eine Frage an uns? Bitte erwähne es im Kommentarbereich dieses Blogs und wir werden uns so schnell wie möglich bei dir melden.