Documente Academic
Documente Profesional
Documente Cultură
Limbajul de Programare C
DATe: variabile...
Termeni:
obiect,
lvalue,
declaratii de variabile,
clasa de memorare a unei variabile,
identificatori,
domeniul unui identificator ,
visibilitatea unei variabile,
durata de viata a unei variabile,
linkage-ul unui identificator
Nota. Denumirea ``lvalue'' provine de la expresiile de atribuire de genul E1 = E2 in care operandul din
dreapta operatorului trebuie sa fie o expresiie care se refera la un obiect, adica o zona de memorie unde
trebuie stocata valoarea expresiei din partea dreapta.
Nume_de_tip :
- numele unui tip de baza (fundamental) de date C
Tipuri de baza C:
- char, short, int, long
- unsigned char, unsigned short, unsigned int, unsigned long
- signed char, signed short, signed int, signed long
- float, double, long double
e.g.
- numele oricarui tip de date definit de utilizator char c;
e.g: point, date, coord, person, …
unsigned int i,j;
point origin, p;
int count=0;
Exemple de modificatori:
• short, long
• signed, unsigned,
• const,
• static, register, extern,
• volatile
Clasa de memorare a unui obiect indica locul din memorie unde este creat!
8 bits
08.04.21 Lucian Cucu - The C Programming Language 8
West University of Timisoara
Faculty of Mathematics and Informatics Programming I
Processor 0 O
1
2 S
3
4
5
Data registers
Address register count:
0
state:
0
Static
s Data Area
Program Counter 0
D
ta
ti P
ALU 0 c
. Instruction Register
R
. A O
i: 0
. Stack Pointer G
T
R
A u to A
z:
-27365
a
y: 706
Stack M
Storage classes
•static
x: -28793
results
•auto
ta
•register I/O devices code, da CODE
8 bits
08.04.21 Lucian Cucu - The C Programming Language 10
West University of Timisoara
Faculty of Mathematics and Informatics Programming I
Durata de viata a unui obiect (variabila) este determinata de durata zonei de memorie
in care e stocat
Durata zonei de memorie :
– statica: obiectele din zona exista pe toata durata de executie a programului
– automatica: obiectele din zona exista pana la terminarea executiei blocului
– alocata D
durata statica P
Static Data Area a R
durata alocata t O
Heap a
G
a R
r A
Stack
durata automatica
e M
a
Identificatori
• nume de variabile
• nume de functii
• etichete
• tag-uri sau nume ale unor membri de structuri, uniuni sau enumerari
• Typedef- uri
Identificator: secventa de litere si cifre, care incepe cu o litera. Caracterul _
este asimilat literelor.
Nota: Acelasi identificator poate reprezenta entitati diferite in zone diferite ale unui program sursa.
E.g.
getValue, putValue
_errorExit
node, next
Tnode, Coord
08.04.21 Lucian Cucu - The C Programming Language 12
West University of Timisoara
Faculty of Mathematics and Informatics Programming I
...
Identificatori: linkage
Linkage:
procesul prin care un identificator, declarat in domenii diferite, sau de mai multe ori
in acelasi domeniu, este legat de acelasi obiect (sau function).
Linkage
application files
program during execution