Difference Between Call By Value and Call By Reference?
Answer Posted / shashi shekhar
For instance consider program1
main()
{
int x=50, y=70;
interchange(x,y);
printf(“x=%d y=%d”,x,y);
}
interchange(x1,y1)
int x1,y1;
{
int z1;
z1=x1;
x1=y1;
y1=z1;
printf(“x1=%d y1=%d”,x1,y1);
}
Here the value to function interchange is passed by value.
Consider program2
main()
{
int x=50, y=70;
interchange(&x,&y);
printf(“x=%d y=%d”,x,y);
}
interchange(x1,y1)
int *x1,*y1;
{
int z1;
z1=*x1;
*x1=*y1;
*y1=z1;
printf(“*x=%d *y=%d”,x1,y1);
}
Here the function is called by reference. In other words
address is passed by using symbol & and the value is
accessed by using symbol *.
The main difference between them can be seen by analyzing
the output of program1 and program2.
The output of program1 that is call by value is
x1=70 y1=50
x=50 y=70
But the output of program2 that is call by reference is
*x=70 *y=50
x=70 y=50
This is because in case of call by value the value is passed
to function named as interchange and there the value got
interchanged and got printed as
x1=70 y1=50
and again since no values are returned back and therefore
original values of x and y as in main function namely
x=50 y=70 got printed.
But in case of call by reference address of the variable got
passed and therefore what ever changes that happened in
function interchange got reflected in the address location
and therefore the got reflected in original function call in
main also without explicit return value. So value got
printed as *x=70 *y=50 and x=70 y=50
| Is This Answer Correct ? | 8 Yes | 1 No |
Post New Answer View All Answers
I am getting the (first) page number and the remaining records displayed in another list in another page BUT the PAGE Number is not displayed? What is the code/solution?
Can i Have Some Realtime Examples On Modulepool programming.
Explain how do you use structures in the abap programs?
How many detail lists can be created in interactive reporting?
Which function module would you use to check the user’s authorization to access files before opening a file?
Mention the various databases integrities?
How are BAPI different from normal function modules?
What is difference between dependent and independent data?
How do you read files from the presentation server ? : abap bdc
What are domains and data element? : abap hr
What are the different types of views in sap? : abap data dictionary
What are the different types of internal table?
There is 1 person but it’s displaying that this person cannot be booked. He is not available for the business event. Can you tell me where is it going wrong? What can be the reasons? : sap abap hr
What is alv programming in abap?
Explain the difference between a pool table and a transparent table?