Documente Academic
Documente Profesional
Documente Cultură
Sistemul de operare aloc fiecrui program trei zone distincte n memoria intern n care se gsesc memorate
variabilele programului:
1. Segment de date ( variabile globale sau cele declarate static/pag139 manual)
2. Segment de stiv ( variabile locale/ subprograme)
3. Heap. ( variabile alocate dinamic de utilizator )
Exist i posibilitatea ca variabilele s fie memorate ntr-un anumit registru al microprocesorului, caz n care
accesul la acestea este foarte rapid. (vezi pag 140 manual)
O variabil se caracterizeaz prin 4 atribute:
o Clasa de memorare locul unde este memorat variabila respectiv; o variabil poate fi memorat n:
segmentul de date (variabilele globale)
segmentul de stiv (n mod implicit, variabilele locale)
heap
un registru al microprocesorului (n mod explicit, variabilele locale).
o Vizibilitatea precizeaz liniile textului surs din care variabila respectiv poate fi accesat. Exist urmtoarele
tipuri de vizibilitate:
la nivel de bloc (instruciune compus) (variabilele locale);
la nivel de fiier surs (n cazul n care programul ocup un singur fiier surs) (variabilele globale, dac
sunt declarate naintea tuturor funciilor);
la nivel de clas (n legtur cu programarea orientat pe obiecte).
o Durata de via timpul n care variabila respectiv are alocat spaiu n memoria intern. Avem:
durat static variabila are alocat spaiu n tot timpul execuiei programului (variabilele globale);
durat local variabila are alocat spaiu n timpul n care se execut instruciunile blocului respectiv
(variabilele locale);
durat dinamic alocarea i dezalocarea spaiului necesar variabilei respective se face de ctre
programator prin operatori specifici;
o Tipul variabilei
pointeri
#include <iostream.h>
void schimba(int *a,
int *b)
{ int aux = *a;
*a = *b;
*b = aux;
}
main() {
int x = 2, y = 3;
schimba(&x, &y);
cout<< x << " " << y;
}
int prim(int n)
{ int i;
for (i = 2; i<= n/2; i++)
if(n%i==0) return 0;
return 1; }