Passing arrays in to functions


#include<iostream>
using std::cout;
using std::endl;
#include<iomanip>
using std::setw;
void modifyArray( int [], int ); // function having the first argument as an array
void modifyElement( int );
int main()
{
const int arraySize = 5; // size of array a

int a[ arraySize ] = { 0, 1, 2, 3, 4 }; // initializing array a

cout <<"Effects of passing entire array by reference:"
<<"\n\nThe values of the original array are:\n";

for ( int i = 0; i < arraySize; i++ )

cout << setw( 3 ) << a[ i ]; //displaying original array elements

cout << endl;
modifyArray( a, arraySize ); // passing array a to modifyArray by reference

cout <<"The values of the modified array are:\n";

for ( int j = 0; j < arraySize; j++ )

cout << setw( 3 ) << a[ j ]; // displaying modified array elements

cout <<"\n\n\nEffects of passing array element by value:"

<<"\n\na[3] before modifyElement: "<< a[ 3 ] << endl;

modifyElement( a[ 3 ] ); // passing array element a[ 3 ] by value

cout <<"a[3] after modifyElement: "<< a[ 3 ] << endl;
return 0; // indicates successful termination

} // end main
// in function modifyArray, "b" points to the original array "a" in memory

void modifyArray( int b[], int sizeOfArray )
{
for ( int k = 0; k < sizeOfArray; k++ )

b[ k ] *= 2; // multiplying each array element by 2

} // end of unction modifyArray

// in function modifyElement, "e" is a local copy of array element a[ 3 ] passed from main

void modifyElement( int e )
{
cout <<"Value of element in modifyElement: "<< ( e *= 2 ) << endl; // multiply parameter by 2

}// end of function modifyElement




Previous
Next Post »

Comments:

Disqus Shortname