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

Write a haskell program, Write a Haskell program that calculates a balanced...

Write a Haskell program that calculates a balanced partition of N items where each item has a value between 0 and K such that the difference between the sum of the values of first

Wap to print series from 1 to 10 & find its square and cube, # include stdi...

# include stdio.h> # include conio.h> # include math.h>   void main () { int a=1,sqr=0,cube=0; clrscr (); while (a { sqr=pow(a,2); cube=pow(a,3);

PROGRAMMING, PROCEDUAL PROGRAMMING INTRODUCTION

PROCEDUAL PROGRAMMING INTRODUCTION

ASCII, A string S is said to be "Super ASCII", if it contains the character...

A string S is said to be "Super ASCII", if it contains the character frequency equal to their ascii values. String will contain only lower case alphabets (''''a''''-''''z'''') and

Standard input- output using motorola and intel devices, Talking to IO boar...

Talking to IO boards inside a computer or microcontroller depends upon the principles used by the microprocessor to address physical devices. On Motorola systems all devices connec

Flow chart, flow chart for calculating the volume of sphere

flow chart for calculating the volume of sphere

How to use http headers inside php, How to use HTTP Headers inside PHP? Wri...

How to use HTTP Headers inside PHP? Write the statement through which it can be added? HTTP headers can be used in PHP by redirection that is written as: Headers can be

Write a program to add co-ordinates of the plane, Write a program to add co...

Write a program to add co-ordinates of the plane The class having x and y co-ordinates. Create three objects. Use a constructor to pass one pair of co-ordinates and a funct

Is it possible to pass an entire structure to functions, Is it possible to ...

Is it possible to pass an entire structure to functions? Yes, it's possible to pass an entire structure to a function in a call by method style. Some programmers prefer to decl

Functions, what is the difference between call by reference and call by poi...

what is the difference between call by reference and call by pointer method?

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