Konstante Zeiger
Ein konstanter Zeiger in C kann die Adresse der Variablen, auf die er zeigt, nicht ändern, d. h. die Adresse bleibt konstant. Daher können wir sagen, dass ein konstanter Zeiger, der auf eine Variable zeigt, nicht auf eine andere Variable zeigen kann.
Syntax des Konstantenzeigers
*const ;
Die Deklaration eines konstanten Zeigers ist unten angegeben:
int *const ptr;
Lassen Sie uns den konstanten Zeiger anhand eines Beispiels verstehen.
#include int main() { int a=1; int b=2; int *const ptr; ptr=&a; ptr=&b; printf('Value of ptr is :%d',*ptr); return 0; }
Im obigen Code:
- Wir deklarieren zwei Variablen, nämlich a und b mit den Werten 1 bzw. 2.
- Wir deklarieren einen konstanten Zeiger.
- Zuerst weisen wir dem Zeiger „ptr“ die Adresse der Variablen „a“ zu.
- Dann weisen wir dem Zeiger „ptr“ die Adresse der Variablen „b“ zu.
- Zuletzt versuchen wir, den Wert der Variablen auszugeben, auf die „ptr“ zeigt.
Ausgabe
In der obigen Ausgabe können wir beobachten, dass der obige Code den Fehler „Zuweisung der schreibgeschützten Variablen „ptr““ erzeugt. Das bedeutet, dass der Wert der Variablen „ptr“, die „ptr“ enthält, nicht geändert werden kann. Im obigen Code ändern wir den Wert von „ptr“ von &a in &b, was mit konstanten Zeigern nicht möglich ist. Daher können wir sagen, dass der konstante Zeiger, der auf eine Variable zeigt, nicht auf eine andere Variable zeigen kann.
Zeiger auf Konstante
Ein Zeiger auf eine Konstante ist ein Zeiger, durch den der Wert der Variablen, auf die der Zeiger zeigt, nicht geändert werden kann. Die Adresse dieser Zeiger kann geändert werden, der Wert der Variablen, auf die der Zeiger zeigt, kann jedoch nicht geändert werden.
Syntax des Zeigers auf die Konstante
const *
Die Deklaration eines Zeigers auf eine Konstante ist unten angegeben:
const int* ptr;
Lassen Sie es uns anhand eines Beispiels verstehen.
#include int main() { int a=100; int b=200; const int* ptr; ptr=&a; ptr=&b; printf('Value of ptr is :%u',ptr); return 0; }
Im obigen Code:
- Wir deklarieren zwei Variablen, nämlich a und b mit den Werten 100 bzw. 200.
- Wir deklarieren einen Zeiger auf eine Konstante.
- Zuerst weisen wir dem Zeiger „ptr“ die Adresse der Variablen „a“ zu.
- Dann weisen wir dem Zeiger „ptr“ die Adresse der Variablen „b“ zu.
- Zuletzt versuchen wir, den Wert von „ptr“ auszugeben.
Ausgabe
Der obige Code wird erfolgreich ausgeführt und zeigt den Wert von „ptr“ in der Ausgabe an.
- Jetzt schreiben wir den Code, in dem wir den Wert der Variablen ändern, auf die der Zeiger zeigt.
#include int main() { int a=100; int b=200; const int* ptr; ptr=&b; *ptr=300; printf('Value of ptr is :%d',*ptr); return 0; }
Im obigen Code:
- Wir deklarieren zwei Variablen, nämlich „a“ und „b“ mit den Werten 100 bzw. 200.
- Wir deklarieren einen Zeiger auf eine Konstante.
- Wir weisen dem Zeiger „ptr“ die Adresse der Variablen „b“ zu.
- Dann versuchen wir, den Wert der Variablen „b“ über den Zeiger „ptr“ zu ändern.
- Zuletzt versuchen wir, den Wert der Variablen auszugeben, auf die der Zeiger „ptr“ zeigt.
Ausgabe
Der obige Code zeigt den Fehler „Zuweisung des schreibgeschützten Standorts „*ptr““. Dieser Fehler bedeutet, dass wir den Wert der Variablen, auf die der Zeiger zeigt, nicht ändern können.
Konstanter Zeiger auf eine Konstante
Ein konstanter Zeiger auf eine Konstante ist ein Zeiger, der eine Kombination der beiden oben genannten Zeiger ist. Es kann weder die Adresse der Variablen ändern, auf die es zeigt, noch den an dieser Adresse platzierten Wert.
Syntax
const * const ;
Die Deklaration für einen Konstantenzeiger auf eine Konstante ist unten angegeben:
const int* const ptr;
Lassen Sie es uns anhand eines Beispiels verstehen.
#include int main() { int a=10; int b=90; const int* const ptr=&a; *ptr=12; ptr=&b; printf('Value of ptr is :%d',*ptr); return 0; }
Im obigen Code:
Anmerkungen zum Spring Boot
- Wir deklarieren zwei Variablen, nämlich „a“ und „b“ mit den Werten 10 bzw. 90.
- Wir deklarieren einen Konstantenzeiger auf eine Konstante und weisen dann die Adresse von „a“ zu.
- Wir versuchen, den Wert der Variablen „a“ durch den Zeiger „ptr“ zu ändern.
- Dann versuchen wir, die Adresse der Variablen „b“ dem Zeiger „ptr“ zuzuweisen.
- Zuletzt geben wir den Wert der Variablen aus, auf die der Zeiger „ptr“ zeigt.
Ausgabe
Der obige Code zeigt den Fehler „Zuweisung der schreibgeschützten Position „*ptr““ und „Zuweisung der schreibgeschützten Variablen „ptr“ an. Daraus schließen wir, dass der konstante Zeiger auf eine Konstante weder die Adresse noch den Wert ändern kann, auf den dieser Zeiger zeigt.