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
How do you get the number of lines in an internal table? How to use a specific number occurs statement?
What work you have done in HR module
please give the remaining answers.
Hi every one ! You people are doing a great job here , Im going to attend Tata Technologies interivew on this sunday,Can anyone who has already attended this company interivew or other companies interivews in abap pls share ur experience with me and help me to get into job my id ushareddyabap@gmail.com. Thankyou verymcuh
What is your current client number?
what comes in Timkein written test I hope some body can tell me at this id plz tell it before 9 pm 19 march
What is the project you are currently working and work that you are doing
How can we handle table control in bdc? : abap bdc
1/ How do u apprach if error occur in sending idocs ? 2/ where u assigned process code ?
Did you create secondary index?