This question has been answered so mny times.
Plz do search in the forum before ask questions.
Answer for ur question is
Parameters can be passed either by reference or conten(value).
If a paremeter is passed by reference both the called and calling program share the same storage space, so if any changes in the formal parameters (Called pgm parameters) will reflect in the actual paramers (calling pgm).
If a parameter is passed by content , calling and called do not share the same storage, so any changes in the called pgm will not reflect in the calling pgm . This is the difference.
Call by reference is default.
If you knw C language , thr is a concept called pointer which uses addressing. (means call by reference)