Documente Academic
Documente Profesional
Documente Cultură
(tip) operand
Exemplu:
int i,j;
double y;
i=8; j=5;
Dacă vom converti operanzii i şi j spre tipul double se va obţine rezultatul corect adică 1.6.
Deci:
int i,j;
double y;
i=8; j=5;
Construcţia (tip) este un operator unar prin care se explicitează conversia dorită. Are aceeaşi
prioritate ca restul operatorilor unari.
sizeof (data)
Exemple:
int i;
long l;
float f;
double d;
char c;
int itablou[5];
double dtablou[5];
fiecare operand de tip char se converteşte spre tipul int şi fiecare operand de tipul float se
converteşte spre double;
dacă unul dintre operanzi este de tip double atunci şi celălalt se converteşte spre tipul double
şi rezultatul va avea tipul double;
dacă unul dintre operanzi este de tip long, atunci şi celălalt se converteşte spre tipul long şi
rezultatul va avea tipul long;
dacă unul dintre operanzi este de tip unsigned, atunci şi celălalt se converteşte spre tipul
unsigned şi rezultatul va fi de tipul unsigned;
la acest pas se ajunge numai dacă ambii operanzi sunt de tip int şi deci operaţia se execută cu
operanzii respectivi, iar rezultatul va fi de tip int.
Aplicând regula de mai sus pas cu pas (la fiecare operator în momentul efectuării lui), se
ajunge în final la evaluarea întregii expresii şi prin acesta se determină tipul expresiei. Regula
conversiilor implicite nu se aplică pentru operatorul de atribuire (valoarea expresiei din partea
dreaptă a semnului de atribuire se converteşte spre tipul variabilei din stânga semnului egal).
Dacă rezultatul unei operaţii depăşeşte domeniul de valori ce corespunde tipului rezultatului,
valoarea respectivă se trunchiază şi rezultatul este eronat.