Hey

Here is code one:

Code:

int main() {
int i, j;
int **matriz;
// alocando espaço para as colunas
matriz = (int **)malloc(N*sizeof(int *));
// alocando espaço para as linhas, uma de cada vez
for (i=0;i<N;i++)
matriz[i] = (int *)malloc(N*sizeof(int ));
// inserindo números na matriz
for (j=0;j<N;j++)
for (i=0;i<N;i++)
matriz[i][j] = 0;
}

Now what i am trying to do is this:

Code:

void criaMatriz(int** *matriz, int N);
void criaMatriz(int** *matriz, int N) {
int i, j;
// alocando espaço para as colunas
*matriz = (int **) malloc(N*sizeof(int *));
// alocando espaço para as linhas, uma de cada vez
for (i=0;i<N;i++)
*(matriz[i]) = (int *) malloc(N*sizeof(int));
// inserindo números na matriz
for (j=0;j<N;j++)
for (i=0;i<N;i++)
matriz[i][j] = 0;
}
int main {
...
criaMatriz(&matriz, N);
}

But i'm getting segfaults. Clearly i'm passing it (&matriz) the wrong way, or i'm making mistakes inside the function. the error occurs in the line

Code:

*(matriz[i]) = (int *) malloc(N*sizeof(int));

Any help is appreciated