Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: stefgin en 30 Noviembre 2017, 19:24 pm



Título: memoria dinámica en una matriz
Publicado por: stefgin en 30 Noviembre 2017, 19:24 pm
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;
}


Título: Re: memoria dinámica en una matriz
Publicado por: MAFUS en 30 Noviembre 2017, 20:24 pm
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.