Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CriaMatriz(int ***matriz, int linhas, int colunas){
- int i,j;
- /* Alocação das linhas da matriz. */
- matriz = (int ***) malloc(linhas * sizeof(int **));
- /* Alocação das colunas da matriz. */
- for (i = 0; i < linhas; i++) {
- matriz[i] = (int **) malloc(colunas * sizeof(int*));
- /* Preenchimento da matriz. */
- for (j = 0; j < colunas; j++) {
- scanf("%d", matriz[i][j]);
- }
- }
- }
- int main() {
- int **matriz1, linhas, colunas;
- CriaMatriz(&matriz1, linhas, colunas);
- }
- #include <stdio.h>
- #include <stdlib.h>
- void CriaMatriz(int **matriz, int linhas, int colunas);
- int main(int argc, char* argv){
- int **matriz1, i, linhas = 0, colunas = 0;
- CriaMatriz(matriz1, linhas, colunas);
- // Após uso deve-se liberar a memória
- for (i = 0; i < linhas; i++){
- // Liberando as linhas
- free(matriz1[i]);
- }
- // Liberando o apontador principal
- free(matriz1);
- }
- void CriaMatriz(int **matriz, int linhas, int colunas){
- int i,j;
- // Agora temos a alocação correta, teremos X ponteiros para ponteiros
- matriz = (int**) malloc(linhas * sizeof(int*));
- // Cada ponteiro terá X colunas de inteiros
- for (i = 0; i < linhas; i++) {
- matriz[i] = (int*) malloc(colunas * sizeof(int));
- }
- /* Preenchimento da matriz. */
- for (i = 0; i < linhas; i++) {
- for (j = 0; j < colunas; j++) {
- // Nós colocamos o valor no endereço apontado
- scanf("%d", &matriz[i][j]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement