Passar array multidimensional como parametro?
24/11/2005
0
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
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
Diegogm
Curtir tópico
+ 0
Responder
Posts
05/12/2005
Rodrigo_rcp
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).
Um abraço,
Rodrigo_rcp.
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).
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.
Responder
Clique aqui para fazer login e interagir na Comunidade :)