Alocação dinâmica de memória em matrizes em C
Uma matriz de tamanho dinâmico em C é implantada a partir de vetores contidos em vetores. Exemplificando, uma matriz 2x3 teria em cada uma das duas linhas, um vetor de 3 posições formando assim três colunas. Sendo declarada como um ponteiro de ponteiro (por exemplo, int **matriz ), para a sua alocação é necessário a alocação de um vetor comum e com o auxílio de uma função de repetição, como o for , criar um novo vetor dentro do primeiro. Como se pode ver no código abaixo: ... //matriz é alocada como vetor tendo um tamanho m matriz = ( int *) malloc(m * sizeof ( int* )); for (i = 0;i < m;i++){ /*Nesta etapa é alocado outro vetor dentro da posição i,fazendo desta maneira n colunas*/ matriz[i] = ( int *) malloc (n* sizeof ( int *)); … A utilização de um dado dessa matriz seria por matriz[i][j]. m e n são números inteiros que indicarão – quando multiplicados nesse caso pelo tamanho de um int – quantos