Informatică Programare

Pointeri in C++ explicati detaliat

Pointerii în C++ sunt variabile care stochează adrese de memorie ale altor variabile, permițând manipularea indirectă a datelor. Declarați un pointer cu tipul* nume;. Exemplu: int x = 5; int* ptr = &x; *ptr = 10; // x devine 10.

Noțiuni de bază

  • Declarare și inițializare Tip* ptr; declară un pointer. &variabilă returnează adresa. int a = 3; int* p = &a;. Pointerul neinițializat poate cauza erori.
  • Dereferențiere *ptr accesează valoarea de la adresa stocată. Dacă p indică spre a, *p = 7 schimbă valoarea lui a la 7. Dereferențierea unui pointer null duce la crash.
  • Pointerul null nullptr este o valoare care indică că pointerul nu indică spre nicio adresă validă. Verificați if(ptr != nullptr) înainte de dereferențiere.

Operații avansate

  1. 1
    Pasul 1: Aritmetica pointerilor Pe array-uri, ptr++ mută pointerul la următorul element de același tip. int arr[3] = {1,2,3}; int* p = arr; p++; // p indică acum spre arr[1].
  2. 2
    Pasul 2: Pointeri la pointeri int** pp; stochează adresa unui pointer. int x = 5; int* p = &x; int** pp = &p; **pp = 10; schimbă x la 10.
  3. 3
    Pasul 3: Pointeri și funcții Puteți pasa pointeri ca parametri pentru a modifica variabile în afara funcției. void modificare(int* ptr) { *ptr = 20; } apelată cu modificare(&x) schimbă x.

Folosește pointeri cu grijă, verificând mereu pentru null și înțelegând aritmetica pentru a evita erori de memorie.

Mai multe din Programare