Pointeri

În capitolele anterioare am utilizat variabile de diferite tipuri, explicând ca acestea sunt locaţii de memorie  accesate printr-un identificator. Astfel, nu trebuie sa ne facem griji pentru adresa fizica a acestora.

Pentru programele C++, memoria este sub forma unei succesiuni de locatii elementare cu dimensiunea de un octet, fiecare avand atasata o adresa unica. Acestea sunt numerotate consecutiv, asa incat, dupa celula cu adresa 1000 se poate spune ca urmeaza celula cu adresa 1001, fiind precedata de cea cu adresa 999.

La declararea unei variabile, memoria necesară pentru stocarea valorii acesteia este alocată la o adresa specificată de memorie. În general, programele C++ nu decid locaţia exactă la care variabilele sunt stocate, aceasta sarcina fiind încredințată sistemului de operare.

Totuşi, acest lucru este, în anumite situaţii, acest lucru este util, iar limbajul C++ oferă instrumentele necesare pentru manipularea adreselor de memorie.Trebuie precizat că, chiar dacă putem manipula adresele variabilelor, aceste nu pot fi cunoscute sau determinate anterior execuției programului.