Explain call by reference, C/C++ Programming

Assignment Help:

Call by Reference

Passing variables(parameters) to a function in C can be done in two ways - pass by value, also called as call by value and pass by address or also known as call by address. C++ though , gives one more way to call a function - call by reference. In call by value , a copy of the actual contents of the variables is passed to the function. In this case, alters made to the formal variable , as they are called, are not reflected back in the calling function. Passing an address permits changes to be made directly to the memory, which are occupied by the actual variable.

Though, a call by address requires the formal variable to be considered as pointer and therefore the indirection operator has to be used with them. A reference on the other hand, is another name, for a previously explained variable. In other words, after a reference is explained for a particular variable, using its original name as well as the reference can refer to the variable. Hence, a reference is nothing but an alias.

 Thus not passing a copy (call by value) saves time and is efficient. It does not have to make a temporary variable /. And not passing the address(call by address), eliminates the use of pointers in the called functions. But, at the same time, the changes made to a formal variable , using its reference or alias can be reflected back in the calling function.

 


Related Discussions:- Explain call by reference

C program to display a rectangle, Aim: To implement a program to display a...

Aim: To implement a program to display a rectangle, circle and triangle. Code:                       class shape {             public:                         vir

Get reverse engineer to linux game routine analysis, Get Reverse Engineer t...

Get Reverse Engineer to Linux game routine analysis Project Description: I want a fast and efficient reverse engineer with good knowledge of assembly x86 language, strong rev

Integration, Write a program to find the area under the curve y = f(x) betw...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

Z transformer, how to write code for z transformer

how to write code for z transformer

Design a game in c, Design a game in c: const DODGERS = 0; const GI...

Design a game in c: const DODGERS = 0; const GIANTS = 1;   void main(void) {    int scoreboard [2][9];    // An array two rows by nine columns    int team, i

Program to display appropriate message-clients accounts, Question A ban...

Question A bank normally updates it's clients accounts at the end of each month.Of the two types of bank accounts:savings and checking, a client must maintain a minimum balance

Create an array of strings, Create an array of Strings and fill it with som...

Create an array of Strings and fill it with some interesting text, such as vacation destinations, album names, or weapon names from a CRPG. Display three elements of the array on t

Explain function overloading, F u nction overloading: Functions can b...

F u nction overloading: Functions can be defined with same name.  Depending upon the type of argument passed the function will perform.  This is known function overloading

Determine the capacitor voltage by c program, Write a program to determine ...

Write a program to determine V c for a given value of time (t)   #include stdio.h #include math.h void main() {      char prompt;   float vs,cr,t,vc;   /* input time */

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd