Așa cum știm deja, fiecărui program C++ care rulează pe calculator i se alocă trei zone distincte în memoria RAM, în care se află datele pe care le prelucrează acel program:
- zona de date – aici se alocă memorie pentru variabilele globale; acestea sunt inițializate cu
0
și sunt vizibile pe tot parcursul programului, în toate funcțiile definite după declararea acestora - zona de stivă – aici se alocă memorie pentru variabilele locale; acestea nu sunt inițializate cu o anumită valoare și sunt vizibile numai în blocul în care în care au fost declarate; la terminarea execuției acestuia, variabilele declarate sunt eliminate
- zona liberă(heap) – aici se alocă memorie pentru variabilele dinamice; acestea se creează pe parcursul execuției programului de către programator, nu de la început, și sunt disponibile până la încheierea programului sau până la eliminarea lor explicită, de către programator.
Utilizarea variabilelor dinamice reprezintă o tehnică numită alocare dinamică. Ea se implementează prin intermediul pointer-ilor și are avantajul că folosește doar atâta memorie cât este necesară.
Citește mai departe