Sunteți pe pagina 1din 2

Operatori de atribuire

În forma cea mai simplă operatorul de atribuire se notează cu “=” şi se utilizează în


construcţii de forma:

v=expresie;

(v este fie o variabilă simplă, fie variabilă cu indici sau un element de structură).

Această construcţie se mai numeşte expresie de atribuire. Ea este considerată ca fiind un caz
particular de expresie. Tipul ei coincide cu tipul lui v, iar valoarea întregii expresii este chiar
valoarea atribuită lui v.

O expresie de forma:

v1=(v=expresie);

este şi ea legală şi se efectuează în felul următor :

se evaluează expresia expresie şi valoarea ei se atribuie lui v;

valoarea lui v se atribuie apoi şi lui v1.

Deoarece operatorii de atribuire se asociază de la dreapta la stânga, expresia de mai sus se


poate scrie şi fără paranteze:

v1=v=expresie;

În general, putem realiza atribuiri multiple printr-o expresie de forma:

vn =. . . =v1=v=expresie

Dacă expresia din dreapta semnului egal are un tip diferit de cel al variabilei v, atunci întâi
valoarea ei se converteşte spre tipul variabilei v şi pe urmă se realizează atribuirea,

Pentru operaţia de atribuire, în afara semnului egal se mai poate folosi şi succesiunea :

op=

unde prin op se înţelege unul din operatorii binari aritmetici sau logici pe biţi, adică unul din
următorii:

% / * - + & ^ | << >>

Acest mod de construcţie se foloseşte pentru a compacta un anumit tip de atribuire. Astfel
expresia:

v op = expresie;
este identică cu expresia de atribuire:

v = op expresie;

int i, j;

double x, y;

int v[10];

i=5;

j=10;

x=y=10.01;

i +=1; // echivalenta cu i=i+1 si cu i++

x*=3; // echivalenta cu x=x*3

j<<=10; // echivalenta cu j=j<<10

v[i]*=i // echivalenta cu v[i]=v[i]*i

S-ar putea să vă placă și