Passing by Pointer


In a previous lecture the three methods of passing arguments to a function were discussed. One of those was passing by pointers. In order for passing by pointer to be a viable approach, the pointer argument must contain the address of a variable. What is then passed by value is the address of this variable. This method of argument passing can be very helpful especially when the variable whose address is passed occupies a large amount of memory.

When pointers are used as arguments of functions, the functional prototype and definition must contain the pointer operator as in the following example:

image from book

 void swap(int*, int* ); 

image from book

While the pointer operator appears both in the prototype and the definition of the functions it does not appear in the call. See BYPOINTER.CPP.

Passing by a pointer is different from passing by reference in that

  • the memory to which the pointer points may be changed within the function

  • the pointer would have to be dereferenced.

  • the pointer would take up stack memory while the reference would not.

Passing by a pointer is different from passing by value because it permits:

  • input to and output of functions by arrays

  • modification of multiple variables

  • faster function execution

  • less stack memory use.




Intermediate Business Programming with C++
Intermediate Business Programming with C++
ISBN: 738453099
EAN: N/A
Year: 2007
Pages: 142

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net