memoria dinámica en una matriz

Iniciado por stefgin, 30 Noviembre 2017, 19:24 PM

0 Miembros y 1 Visitante están viendo este tema.

stefgin

COMO PASAR LA MATRIZ DECLARADA EN MAIN POR REFERENCIA A LA FUNCION PARA GENERAR EL ESPACIO EN MEMORIA

#include  <stdio.h>
#include  <stdlib.h>

#define M 5
#define N 5

void crearArreglo(int mat[][N])
{
    mat = (int (*)[N])malloc(sizeof(*mat)*M);
     if (mat!=NULL){printf("valido");}
}


int main(void)
{
        int (*mat)[N];

       crearArreglo(mat);
   
   system ("pause");
    return 0;
}

MAFUS

Tal y como lo tienes la función espera una tabla ya definida.
Para hacer lo que pides debes pasar solo el puntero y crear todas las dimensiones dentro de la función.

Por supuesto esto a grandes rasgos.