PC Laborator 12: Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
(Pagină nouă: = Obiective = La sfârșitul acestui laborator studenții vor fi capabili: * să definească și să utilizeze tipuri de date pointer; * să folosească pointeri pentru a putea mo...)
 
Linia 6: Linia 6:
* să aloce, să folosească și să elibereze memorie HEAP, în mod dinamic;
* să aloce, să folosească și să elibereze memorie HEAP, în mod dinamic;
* să utilizeze <code>valgrind</code> pentru a diagnostica pierderile de memorie.
* să utilizeze <code>valgrind</code> pentru a diagnostica pierderile de memorie.
= Tipuri de date pointer =
Un '''pointer''' reprezintă o variabilă care stochează o adresă în memoria dedicată aplicației. Tipul variabilei de tip pointer specifică tipul datei care va fi găsit la adresa respectivă.
O variabilă de tip pointer se definește în felul următor:
<tip_data> * <nume_variabila>;
Spre exemplu:
<syntaxhighlight lang="c">
int * pa;
</syntaxhighlight>
Variabila de tip pointer <code>pa</code> nu memorează un întreg, ci o adresă în memorie, iar de la adresa respectivă se poate citi un întreg. Acest lucru se numește indirectare simplă.

Versiunea de la data 30 decembrie 2015 13:23

Obiective

La sfârșitul acestui laborator studenții vor fi capabili:

  • să definească și să utilizeze tipuri de date pointer;
  • să folosească pointeri pentru a putea modifica variabilele trimise ca argumente unor funcții;
  • să aloce, să folosească și să elibereze memorie HEAP, în mod dinamic;
  • să utilizeze valgrind pentru a diagnostica pierderile de memorie.

Tipuri de date pointer

Un pointer reprezintă o variabilă care stochează o adresă în memoria dedicată aplicației. Tipul variabilei de tip pointer specifică tipul datei care va fi găsit la adresa respectivă.

O variabilă de tip pointer se definește în felul următor:

<tip_data> * <nume_variabila>;

Spre exemplu:

int * pa;

Variabila de tip pointer pa nu memorează un întreg, ci o adresă în memorie, iar de la adresa respectivă se poate citi un întreg. Acest lucru se numește indirectare simplă.