Array
(
)

Passar array multidimensional como parametro?

Diegogm
   - 24 nov 2005

Olá galera, estou programando em c/c++ em pouquissimo tempo, e já estou dando trabalho para vc´s :D eu preciso saber como passar um array multidimensional como parametro de uma função e como ler os dados dentro da função. Estou declarando a var assim :

int Mapa[100][100];

e eu precisava passar esse mapa como parametro de uma função, para eu pesquisar alguns valores dentro do parametro, como eu tô começando agora, se puder colocar um pequeno código exemplificando para mim é melhor :D


Rodrigo_rcp
   - 05 dez 2005

Boa tarde!

Quando uma matriz é usada como argumento para uma função apenas o endereço da matriz é passado, não uma cópia da matriz inteira.Quando vc chama uma função com um nome de matriz, um ponteiro para o primeiro elemento na matriz é passaso para a função.(Não se esqueça: em C, um nome de matriz sem qualquer índice é um ponteiro para o primeiro elemento na matriz).

#Código

void matrizes(int matriz[10][10])
{
int i,j;

for(i=1;i<=10;i++)
{
printf("\n");
for(j=1;j<=10;j++)
printf("¬2d * ¬2d = ¬2d\n",i,j,matriz[i-1][j-1]);
}
}

int main(int argc, char* argv[])
{
int i,j,tabuada[10][10];

for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
tabuada[i-1][j-1]=i*j;
matrizes(tabuada);

system("pause");
return 0;
}


Um abraço,

Rodrigo_rcp.