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

Programming, what is the first thing I need to know about Programming?

what is the first thing I need to know about Programming?

Genetic disease, Many human diseases could be controlled by the knowledge o...

Many human diseases could be controlled by the knowledge of the gene’s structure and pattern. The human gene could be represented by four nucleotides. Each nucleotide is represente

Last ant on rod, There are ''n'' ants on a ''n+1'' length rod. The ants are...

There are ''n'' ants on a ''n+1'' length rod. The ants are numbered from 1 to n and are initially placed at positions starting from position 1 till position n. They are moving eith

Basic coding syntax errors, I have a program for school and I am not unders...

I have a program for school and I am not understanding why one of the variables gets skipped or the arithmetic operators aren''t having any effect as I have tryed defining it sever

Name the operators which cannot be overloaded?, Q: Name the operators which...

Q: Name the operators which cannot be overloaded? A:sizeof, ., .*, .->, ::, ?:

Virtual destructor, What about Virtual Destructor? describe it.

What about Virtual Destructor? describe it.

Optimized nic driver for windows compact 7, Optimized NIC Driver for Window...

Optimized NIC Driver for Windows Compact 7 for Hard Real Time Communication Project Description: I am seeking an optimized driver (miniport driver) that will be used for sele

Write a program to calculate the timetable, Write a program to calculate th...

Write a program to calculate the timetable for numbers 1 -> 10 and display them as follows. Your solution should use for do loops      #include stdio.h void main() {    char p

Super ASCII string cost, string will contain only lower case alphabet& the ...

string will contain only lower case alphabet& the ascii value starts from 1-26,(ie,a=1&z=26).it perform the operation like the following costs:add=2units,replace=1unit,delete=3unit

Minimum shelf, how to find minimum number if shelves required

how to find minimum number if shelves required

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