logo

const Pointer în C

Indicatori constante

Un pointer constant în C nu poate schimba adresa variabilei către care indică, adică adresa va rămâne constantă. Prin urmare, putem spune că dacă un pointer constant indică către o variabilă, atunci nu poate indica nicio altă variabilă.

Sintaxa Pointerului constant

 *const ; 

Declarația unui pointer constant este dată mai jos:

 int *const ptr; 

Să înțelegem indicatorul constant printr-un exemplu.

 #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; } 

În codul de mai sus:

pentru string array java
  • Declarăm două variabile, adică a și b cu valorile 1 și, respectiv, 2.
  • Declaram un pointer constant.
  • Mai întâi, atribuim adresa variabilei „a” indicatorului „ptr”.
  • Apoi, atribuim adresa variabilei „b” indicatorului „ptr”.
  • În cele din urmă, încercăm să tipărim valoarea variabilei indicată de „ptr”.

Ieșire

const Pointer în C

În rezultatul de mai sus, putem observa că codul de mai sus produce eroarea „alocarea variabilei numai în citire „ptr”. Înseamnă că valoarea variabilei „ptr” pe care o deține „ptr” nu poate fi modificată. În codul de mai sus, schimbăm valoarea lui „ptr” de la &a la &b, ceea ce nu este posibil cu pointeri constante. Prin urmare, putem spune că pointerul constant, care indică o variabilă, nu poate indica o altă variabilă.

Indicator către Constant

Un pointer către constantă este un pointer prin care valoarea variabilei pe care o indică pointerul nu poate fi modificată. Adresa acestor pointeri poate fi modificată, dar valoarea variabilei pe care pointerul o indică nu poate fi modificată.

servicii web java

Sintaxa Pointer to Constant

 const * 

Declarația unui pointer către constantă este dată mai jos:

 const int* ptr; 

Să înțelegem printr-un exemplu.

    Mai întâi, scriem codul în care schimbăm valoarea unui pointer
 #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; } 

În codul de mai sus:

  • Declarăm două variabile, adică a și b cu valorile 100 și respectiv 200.
  • Declarăm un pointer către constantă.
  • Mai întâi, atribuim adresa variabilei „a” indicatorului „ptr”.
  • Apoi, atribuim adresa variabilei „b” indicatorului „ptr”.
  • În cele din urmă, încercăm să tipărim valoarea lui „ptr”.

Ieșire

const Pointer în C

Codul de mai sus rulează cu succes și arată valoarea lui „ptr” în rezultat.

instrucțiunea java if
  • Acum, scriem codul în care schimbăm valoarea variabilei către care indică indicatorul.
 #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; } 

În codul de mai sus:

  • Declarăm două variabile, adică „a” și „b” cu valorile 100 și, respectiv, 200.
  • Declarăm un pointer către constantă.
  • Atribuim adresa variabilei „b” indicatorului „ptr”.
  • Apoi, încercăm să modificăm valoarea variabilei „b” prin indicatorul „ptr”.
  • În cele din urmă, încercăm să tipărim valoarea variabilei care este indicată de indicatorul „ptr”.

Ieșire

const Pointer în C

Codul de mai sus arată eroarea „alocarea locației numai pentru citire „*ptr””. Această eroare înseamnă că nu putem modifica valoarea variabilei către care indică indicatorul.

Constant Pointer către o constantă

Un pointer constant către o constantă este un pointer, care este o combinație a celor doi pointeri de mai sus. Nu poate modifica adresa variabilei către care indică și nici valoarea plasată la această adresă.

Sintaxă

 const * const ; 

Declarația pentru un pointer constant la o constantă este dată mai jos:

 const int* const ptr; 

Să înțelegem printr-un exemplu.

ce este comanda de export în linux
 #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; } 

În codul de mai sus:

  • Declarăm două variabile, adică „a” și „b” cu valorile 10 și, respectiv, 90.
  • Declarăm un pointer constant către o constantă și apoi atribuim adresa lui „a”.
  • Încercăm să schimbăm valoarea variabilei „a” prin indicatorul „ptr”.
  • Apoi încercăm să atribuim adresa variabilei „b” indicatorului „ptr”.
  • În cele din urmă, imprimăm valoarea variabilei, care este indicată de indicatorul „ptr”.

Ieșire

const Pointer în C

Codul de mai sus arată eroarea „alocarea locației numai în citire „*ptr” și „alocarea variabilei numai în citire „ptr”. Prin urmare, concluzionăm că pointerul constantă către o constantă nu poate schimba nici adresa, nici valoarea, care este indicată de acest pointer.