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
Î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.
#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
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
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
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.