Paso de arreglos y de elementos de un arreglo a funciones
c:
#include <stdio.h>
#define TAMANIO 5
/* prototipos de las funciones */
void modificaArreglo( int b[], int tamanio );
void modificaElemento( int e );
/* la función main comienza la ejecución del programa */
int main()
{
int a[ TAMANIO ] = { 0, 1, 2, 3, 4 }; /* inicializa a */
int i; /* contador */
printf( "Efectos de pasar arreglos completos por referencia:\n\nThe "
"los valores del arreglo original son:\n" );
/* muestra el arreglo original */
for ( i = 0; i < TAMANIO; i++ ) {
printf( "%3d", a[ i ] );
} /* fin de for */
printf( "\n" );
/* pasa el arreglo a modificaArreglo por referencia */
modificaArreglo( a, TAMANIO );
printf( "Los valores del arreglo modificado son:\n" );
/* muestra el arreglo modificado */
for ( i = 0; i < TAMANIO; i++ ) {
printf( "%3d", a[ i ] );
} /* fin de for */
/* muestra el valor de a[ 3 ] */
printf( "\n\n\nEfectos de pasar un elemento del arreglo "
"por valor:\n\nEl valor de a[3] es %d\n", a[ 3 ] );
modificaElemento( a[ 3 ] ); /* pasa el elemento a[ 3 ] del arreglo por valor */
/* muestra el valor a[ 3 ] */
printf( "El valor de a[ 3 ] es %d\n", a[ 3 ] );
return 0; /* indica terminación exitosa */
} /* fin de main */
/* en la función modificaArreglo, "b" apunta al arreglo original "a"
e memoria */
void modificaArreglo( int b[], int tamanio )
{
int j; /* contador */
/* multiplica cada elemento del arreglo por 2 */
for ( j = 0; j < tamanio; j++ ) {
b[ j ] *= 2;
} /* fin de for */
} /* fin de la función modificaArreglo */
/* en la función modificaElemento, "e" es una copia local del elemento a[ 3 ]
del arreglo se pasó desde main */
void modificaElemento( int e )
{
/* multiplica el parámetro por 2 */
printf( "El valor en modificaElemento es %d\n", e *= 2 );
} /* fin de la función modificaElemento */
#define TAMANIO 5
/* prototipos de las funciones */
void modificaArreglo( int b[], int tamanio );
void modificaElemento( int e );
/* la función main comienza la ejecución del programa */
int main()
{
int a[ TAMANIO ] = { 0, 1, 2, 3, 4 }; /* inicializa a */
int i; /* contador */
printf( "Efectos de pasar arreglos completos por referencia:\n\nThe "
"los valores del arreglo original son:\n" );
/* muestra el arreglo original */
for ( i = 0; i < TAMANIO; i++ ) {
printf( "%3d", a[ i ] );
} /* fin de for */
printf( "\n" );
/* pasa el arreglo a modificaArreglo por referencia */
modificaArreglo( a, TAMANIO );
printf( "Los valores del arreglo modificado son:\n" );
/* muestra el arreglo modificado */
for ( i = 0; i < TAMANIO; i++ ) {
printf( "%3d", a[ i ] );
} /* fin de for */
/* muestra el valor de a[ 3 ] */
printf( "\n\n\nEfectos de pasar un elemento del arreglo "
"por valor:\n\nEl valor de a[3] es %d\n", a[ 3 ] );
modificaElemento( a[ 3 ] ); /* pasa el elemento a[ 3 ] del arreglo por valor */
/* muestra el valor a[ 3 ] */
printf( "El valor de a[ 3 ] es %d\n", a[ 3 ] );
return 0; /* indica terminación exitosa */
} /* fin de main */
/* en la función modificaArreglo, "b" apunta al arreglo original "a"
e memoria */
void modificaArreglo( int b[], int tamanio )
{
int j; /* contador */
/* multiplica cada elemento del arreglo por 2 */
for ( j = 0; j < tamanio; j++ ) {
b[ j ] *= 2;
} /* fin de for */
} /* fin de la función modificaArreglo */
/* en la función modificaElemento, "e" es una copia local del elemento a[ 3 ]
del arreglo se pasó desde main */
void modificaElemento( int e )
{
/* multiplica el parámetro por 2 */
printf( "El valor en modificaElemento es %d\n", e *= 2 );
} /* fin de la función modificaElemento */