Cheatography
https://cheatography.com
VARIABILE
GLOBALE |
LOCALE |
sunt definite in afara oricarei functii |
sunt definite in interiorul functiilor |
sunt definite la inceput de program |
nu pot fi utilizate in afara functiei in care a fost definita |
durata de viata este atata timp cat programul se executa |
durata de viata este pe tot parcursul functiei |
are alocat spatiu de memorie pe tot parcursul executiei programului |
zona de memorie alocata este numai pe parcursul executiei functiei |
se initialzeaza cu 0 |
nu se initializeaza in mod automat |
se memoreaza pe segmentul de date |
se memoreaza pe segmentul de stiva |
Domeniul de vizibilitate al unei variabile incepe in momentul declararii ei si se sfarseste in momentul in care se incheie blocul in interiorul caruia a fost definita.
TRANSMITEREA PARAMETRILOR
PRIN VALOARE |
PRIN ADRESA |
parametrii transmisi pot fi variabile,constante,valori |
parametrii transmisi pot fi variabile( nu pot fi valori) |
parametrii efectivi transmisi functiei, la intoarcere in programul orincipal, vor avea acceasi valoare cu care au intrat in functie |
valoarea parametrilor cu care intra in functie se va modifica si programul principal va primi valoarea modificata a parametrilor |
se memoreaza in zona de stive |
inaintea parametrului transmis prin adresa se pune "&" |
|
|
STRUCTURA FUNCTIILOR SI APELUL LOR
Forma generala a functiei:
tip nume_functie(lista parametri formali)
{
instructiuni;
} |
O functie se compune din antet(prima linie) si corpul functiei(ce este cuprins intre acolade).
A declara o functie inseamna a o aminti, a-i spune programului ca exista(se foloseste antetul).
A defini o functie inseamna a o descrie(se foloseste antetul si corpul functiei).
Tipul functiei poate fi void,int,float,char...
TRANSMITEREA PARAMETRILOR
FORMALI |
EFECTIVI/ACTUALI |
se gasesc in antetul functiei |
se gasesc in instructiunea de apela functiei |
Numele parametrilor efectivi poate sa difere de numele parametrilor formali.
TRANSMITEREA PARAMETRILOR PRIN CORESPONDENTA
numarul parametrilor formali trebuie sa coincida cu numarul parametrilor efectivi |
ordinea parametrilor efectivi trebuie sa fie aceeasi cu cea a parametrilor formali |
tipul parametrilor efectivi trebuie sa poata fi convertit implicit sau sa coincida cu tipul parametrilor formali |
Parametri se memoreaza pe segmentul de stiva( sunt considerati ca si variabile locale).
|
|
MODALITATI DE A PLASA FUNCTIILE IN PROGRAME
-INAINTEA FUNCTIEI "MAIN"
ex. int nume_functie(...)
{...}
int main()
{...}
-DUPA FUNCTIA "MAIN"
ex. int nume_functie(...);
int main()
{...}
int nume_functie(...)
{...} |
APELUL UNEI FUNCTII
-CARE RETURNEAZA O VALOARE
tip nume_functie(parametru1,parametru2,...)
{ instructiuni;
return expresie;
}
Tip:tipul rezultatului(int, float, char)
Apelul functiei:
cout<<nume_functie(...);
sau exp=nume_functie(...);
cout<<exp;
-CARE NU RETURNEAZA O VALOARE
void nume_functie(parametru1, parametru2,...)
{ instructiuni;
}
Apelul functiei se face prin numele ei. |
|
Created By
Metadata
Comments
No comments yet. Add yours below!
Add a Comment
Related Cheat Sheets
More Cheat Sheets by [deleted]