C++
Home

Passando arrays para funções

Funções podem modificar valores de arrays de uma função main.
Para isso esta função deve ter o cabeçalho identificando uma variavel array sem tamanho e uma variavel int com o tamanho real da array.

void modificar ( int array[ ], int ); // prototipo

Com isso podemos modificar dinamicamente o valor da array da função main. Observe o exemplo:

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <iomanip>
using std::setw;

void modifica_array( int [], int );
void modifica_valor( int );

int main()
{
   const int tamanho = 5;

   int i,
   a[ tamanho ] = { 0, 1, 2, 3, 4 };

   cout << "Valores originais:\n\n";

   for ( i = 0; i<tamanho; i++ )
      cout << setw(3) << a[i];

   cout << endl;

   // chamada por referencia
   modifica_array( a, tamanho );

   for ( i = 0; i<tamanho; i++ )
      cout << setw(3) << a[i];

   cout << endl;
   modifica_valor ( a[3] );

   cout << endl << a[3] << endl;

   cin;

   return 0;
}

void modifica_array( int b[], int tamanho_a )
{
   for ( int j = 0; j < tamanho_a; j++ )
      b[ j ] *= 2;
}

void modifica_valor( int valor )
{
   cout << "valor do elemento eh"
          << (valor *= 2)
          << endl;
}

Perguntas??? Email