Was ist Dereference operator?

In der Computerprogrammierung arbeitet ein Dereferenzierungsoperator, auch als Indirektionsoperator bekannt, mit einer Zeigervariablen. Es gibt den Positionswert oder L-Wert im Speicher zurück, auf den der Wert der Variablen zeigt. In der Programmiersprache C wird der Referenzoperator mit einem Sternchen gekennzeichnet

.

int x; int *p;

In C können wir beispielsweise eine Variable x deklarieren, die einen ganzzahligen Wert enthält, und eine Variable p, die einen Zeiger auf einen ganzzahligen Wert im Speicher enthält:

Hier teilt das Sternchen dem Compiler mit: “p ist keine ganze Zahl, sondern ein Zeiger auf eine Stelle im Speicher, die eine ganze Zahl enthält.” Hier handelt es sich nicht um eine Dereferenzierung, sondern um einen Teil einer Pointer-Deklaration.

p = &x;

Jetzt können wir mit dem &-Operator p auf den Ort setzen, der dem Wert von x zugeordnet ist, was „Adresse von“ bedeutet.

Diese Aktion teilt dem Compiler mit: “Die Adresse im Speicher, auf die p zeigt, ist die Adresse, die Sie der ganzen Zahl x zugewiesen haben.”

x = 1; printf("%d", x);

Zur Veranschaulichung: Wenn wir den Wert von x mit der herkömmlichen Methode auf 1 setzen und den Wert drucken, ist die Ausgabe 1.

*p = 2; printf("%d", x);

Wir können jedoch auch den Wert von x ändern, indem wir auf p verweisen. Wir tun dies mit einem Sternchen:

Und die Ausgabe ändert sich auf 2.

Mit anderen Worten, nachdem p als ein Zeiger desselben Typs wie x deklariert und dann so eingestellt wurde, dass es auf den Wert von x zeigt, können wir x und *p austauschbar verwenden. Da sich beide auf dasselbe beziehen, ändert die Änderung des Werts des einen den Wert des anderen.

Zeiger, Programmierbegriffe, Variable

Neueste Artikel
Vielleicht möchten Sie lesen

LEAVE A REPLY

Please enter your comment!
Please enter your name here