Wie funktioniert Zeiger auf Zeiger in C

Wie funktioniert Zeiger auf Zeiger in C
Zeiger sind ein entscheidender Bestandteil der C -Programmierung, die es Ihnen leicht erleichtert, Daten und Speicher auf eine wichtigere Weise zu manipulieren. Der Fall kann jedoch eintreffen, wenn Sie einen Zeiger selbst manipulieren müssen, und hier ist Zeiger auf Zeiger wird ins Geschäft kommen.

In diesem Artikel wird die Arbeit von Zeiger auf Zeiger in der C -Programmiersprache erörtert.

Bevor Sie auf den Weg zusteuern, wie Zeiger auf Zeiger Werkt wir zuerst, was ist Zeiger auf Zeiger.

Was ist der Zeiger auf Zeiger?

Ein Zeiger ist eine Variable, mit der eine andere variable Speicheradresse gespeichert wird. Während ein Zeiger auf Zeiger, auch als die bezeichnet Doppelzeiger ist ein Zeiger, mit dem die Speicheradresse eines anderen Zeigers gespeichert wird.

Allgemeine Syntax, um Zeiger auf Zeiger in C zu verwenden

Das Folgende ist die Syntax, um a zu verwenden Zeiger auf Zeiger In C -Programmierung.

Data_type ** variable_name

Der Zeiger auf Zeiger Die Variable muss definiert werden, indem zwei Sternchen zu ihrem Namen hinzugefügt werden. Beispielsweise deklariert die folgende Erklärung einen Zeiger auf den Zeiger von Int Datatype.

int ** var;

Wie funktioniert Zeiger auf Zeiger in C

A Zeiger auf Zeiger Wirkt ähnlich wie bei einem gewöhnlichen Zeiger, außer dass er den tatsächlichen Wert ändert. Um es anders auszudrücken, kann die Speicheradresse in einem gewöhnlichen Zeiger geändert werden. Betrachten wir ein einfaches Beispiel:

int n = 10;
int *pptr1 = & n;
int ** pptr2 = &pptr1;

Im obigen Code haben wir eine INT -Variable, die einen Ganzzahlwert speichert. Wir haben auch einen Zeiger namens namens "Pptr1" Das speichert die Speicheradresse der Variablen N. Danach die "Pptr2" wird verwendet, der die Speicheradresse des Zeigers speichert pptr1.

Wenn Sie nun auf die Werte von zugreifen möchten N, Sie müssen den Zeiger nur zweimal Dereference machen. In der ersten Derreferenz erhalten Sie die Speicheradresse von "Pptr1", im zweiten erhalten Sie den Wert von N. Jetzt können Sie den Wert mit dem erhalten "Printf ()" Funktion.

Hier ist ein kompletter Code, mit dem Zeiger zum Zeiger in der C -Programmierung verwendet werden können.

#enthalten
int main ()
int n = 10;
int *pptr1 = & n;
int ** pptr2 = &pptr1;
printf ("Wert von n mit pptr2: %d \ n", ** pptr2);
Rückkehr 0;

Ausgang

Wir können auch Speicher für eine Zeigervariable in einer separaten Funktion zuweisen und diesen Zeiger dann in der Aufruffunktion anwenden. Das angegebene Beispiel zeigt, wie das geht.

#enthalten
#enthalten
#enthalten
void memory_allocation (char ** my_ptr)

* my_ptr = (char *) malloc (10 * sizeof (char));

int main ()

char *w;
memory_allocation (& w);
Strcpy (W, "LinuxHint");
printf ("%s \ n", w);
frei (w);
Rückkehr 0;

Im obigen Programm die "Speicherzuweisung" Die Funktion hat den Speicher zugewiesen ptr_1. Der ptr_1 wirkt wie ein Doppelzeiger und speichert eine Zeichenfolge mit dem Namen "LinuxHint" die auf dem Bildschirm gedruckt wird.

Ausgang

Abschluss

Der Zeiger auf Zeiger ist ein nützliches Konzept in der C -Programmiersprache, mit dem Sie über mehrere Zeigerschichten indirekt auf einen variablen Wert zugreifen können. Mit der Hilfe von Zeiger auf Zeiger, Sie können einen Zeiger selbst manipulieren. Die oben genannten Richtlinien helfen Ihnen bei der Verwendung Zeiger auf Zeiger In der C -Programmierung, da sie auch einige grundlegende Beispiele enthält, die das Grundkonzept dahinter verstehen Zeiger auf Zeiger.