#include <stdio.h>
#define SIZE 5
void modifyArray( int b[], int size );
void modifyElement( int e );
int main()
{
int a[ SIZE ] = { 0, 1, 2, 3, 4 };
int i;
printf( "Effects of passing entire array by reference:\n\nThe "
"values of the original array are:\n" );
for ( i = 0; i < SIZE; i++ ) {
printf( "%3d", a[ i ] );
}
printf( "\n" );
modifyArray( a, SIZE );
printf( "The values of the modified array are:\n" );
for ( i = 0; i < SIZE; i++ ) {
printf( "%3d", a[ i ] );
}
printf( "\n\n\nEffects of passing array element "
"by value:\n\nThe value of a[3] is %d\n", a[ 3 ] );
modifyElement( a[ 3 ] );
printf( "The value of a[ 3 ] is %d\n", a[ 3 ] );
return 0;
}
void modifyArray( int b[], int size )
{
int j;
for ( j = 0; j < size; j++ ) {
b[ j ] *= 2;
}
}
void modifyElement( int e )
{
printf( "Value in modifyElement is %d\n", e *= 2 );
}
Effects of passing entire array by reference:
The values of the original array are:
0 1 2 3 4
The values of the modified array are:
0 2 4 6 8
Effects of passing array element by value:
The value of a[3] is 6
Value in modifyElement is 12
The value of a[ 3 ] is 6
7.7.Array Parameter |
| 7.7.1. | Pass array to function |
| 7.7.2. | Passing arrays and individual array elements to functions |