logo

const Zeiger in C

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

const Zeiger in C

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.

    Zuerst schreiben wir den Code, in dem wir den Wert eines Zeigers ändern
 #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

const Zeiger in C

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

const Zeiger in C

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

const Zeiger in C

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.