Originariamente inviato da Sergio Pedone
Ciao infinitejustice, a chi è riferita la tua risposta?
a chi ha iniziato il thread. Se allocata dinamicamente la memoria sopravvive alla funzione e quindi basta ritornare il puntatore.
codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int **miaFunz(int, int);
void main(int argc, char **argv){
int **myMatrix = miaFunz(5, 3);
}
int **miaFunz(int m, int n){
int i, j, **matrix;
if(!(matrix = (int **)malloc(m*sizeof(int *))))
abort();
for(i = 0, srand(time(NULL)); i < m; i++){
*(matrix+i) = (int *)malloc(n*sizeof(int));
for(j = 0; j < n; j++)
*((*(matrix+i))+j) = rand()%100;
}
return matrix;
}