Você está na página 1de 1

Passagem de Matrizes e Vetores como Parâmetro

Para passar uma matriz ou vetor como parâmetro, basta declarar o parâmet
ro da mesma forma que a matriz foi declarada.
Um vetor é sempre passado por referência, logo, qualquer alteração em seus e
lementos altera a variável usada como parâmetro na chamada da rotina.
#define TAM_MAX 10
void ImprimeVet (int Tam, int Vet[TAM_MAX])
{
int i;
for (i=0; i< Tam; i++)
{
printf("%d", Vet[i]);
}
}
void main()
{
int Notas[TAM_MAX];
ImprimeVet(TAM_MAX, Notas); // Passa o vetor 'Notas' como
// parâmetro
}
A passagem dos elementos de um vetor como parâmetro é idêntica à passagem de uma v
ariável. Ou seja, quando a passagem for por valor usa-se vet[i] e quando for por r
eferência usa-se &vet[i].
void Imprime (int N) // função com um parâmetro por valor
{
printf("%d", N);
}
void Incr (int *N) // função com um parâmetro por referência
{
*N = *N + 1;
}
void Incr (int *N)
{
int i;
for (i=0; i< Tam; i++)
{
Incr(&Vet[i]); // Note que é preciso colocar o '&' antes
// de Vet[i] pois a função 'Incr' espera um
// parâmetro por REFERÊNCIA
Imprime(Vet[i]); // Note que NÃO se deve colocar nada antes
// de Vet[i] pois a função 'Imprime' espera um
// parâmetro por VALOR
}
}