Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

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


Please Help Members By Posting Answers For Below Questions

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?

1990


Can i Have Some Realtime Examples On Modulepool programming.

6127


Explain how do you use structures in the abap programs?

1020


How many detail lists can be created in interactive reporting?

1201


Which function module would you use to check the user’s authorization to access files before opening a file?

1057


Mention the various databases integrities?

1042


How are BAPI different from normal function modules?

2192


What is difference between dependent and independent data?

1010


How do you read files from the presentation server ? : abap bdc

1096


What are domains and data element? : abap hr

1079


What are the different types of views in sap? : abap data dictionary

1079


What are the different types of internal table?

1140


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

1075


What is alv programming in abap?

1144


Explain the difference between a pool table and a transparent table?

1030