Documente Academic
Documente Profesional
Documente Cultură
Transfer
prin valoare
Parametrii se pot modifica in corpul functiilor, dar dupa terminarea apelului functiei
au aceeasi valoare pe care au avut-o inainte de apel. Acest transfer se foloseste in
general numai pentru parametrii de intrare.
#include <iostream.h>
using namespace std;
void schimb(int x,int y)
{int aux;
aux=x;
x=y;
y=aux;
cout<<x<<" "<<y;
cout<<endl;
}
int main()
{int a,b;
a=1;b=2;
schimb(a,b);
cout<<a<<" "<<b;
}
21
12
Obs.:
#include<iostream.h>
using namespace std;
void schimb(int *x,int *y)
{int aux;
aux=*x;
*x=*y;
*y=aux;
cout<<*x<<" "<<*y;
cout<<endl;
}
int main()
{int a,b;
a=1;b=2;
schimb(&a,&b);
cout<<a<<" "<<b;
}
21
12
In cazul in care parametrii transmisi prin valoare sunt param. de iesire sau de
intrare-iesire, pentru a putea transmite rezultatul obtinut in subprogram catre
modulul apelant se vor folosi variabile de tip pointer.
Transfer prin
referinta
Parametrii sunt precedati de & si transmit rezultate inafara functiei. Acesti param. se
modifica in corpul functriei si la terminarea apelului functiei au valoarea pe care au
primit-o in timpul apelului functiei.
#include<iostream.h>
void schimb(int &x,int &y)
{int aux;
aux=x;
x=y;
y=aux;
cout<<x<<" "<<y;
cout<<endl;
}
void main()
{int a,b;
a=1;b=2;
schimb(a,b);
cout<<a<<" "<<b;
}
&
21
21
Obs.:
Pentru transmiterea unor rezultate din subprograme catre modulul apelant ()parametru de
iesire) se foloseste fie transferul prin referinta, fie transferul prin valoare, folosind variabile
de tip pointer.
PARAMETRII FORMALI SI PARAMETRII ACTUALI
Parametrii formali
Parametrii actuali
Obs.:
Intorc
clrscr(); getch();randomize();
void <nume_functie>[<lista_parametrilor_formali>]
instructiune compusa
SUBPROGRAME CARE INTORC UN REZULTAT PRIN NUMELE LOR
Returneaza
Obs.:
VARIABILE
LOCALE
VARIABILE
GLOBALE