Leiste el link que te pase?
Hay viene un ejemplo de como hacerlo. Por ejemplo si lo que haces es mas o menos esto para alocar tu matriz:
Código C++:
Ver originalconst int row = 5;
const int col = 10;
int **bar
= (int**)malloc(row
* sizeof(int*)); for (size_t i = 0; i < row; ++i)
{
bar
[i
] = (int*)malloc(col
* sizeof(int));}
Puedes pasarlo tranquilamente como un puntero a puntero.
Te dejo un ejemplo:
Código C++:
Ver original#include <iostream>
#include <stdlib.h>
int **create_matrix(int rows, int cols);
void destroy_matrix(int **matrix, int rows);
void fill_matrix(int **matrix, int rows, int cols);
void print_matrix(int **matrix, int rows, int cols);
int main () {
int **m = create_matrix(3, 3);
fill_matrix(m, 3, 3);
print_matrix(m, 3, 3);
destroy_matrix(m, 3);
return 0;
}
int **create_matrix(int rows, int cols) {
int **bar
= (int**)malloc(rows
* sizeof(int*)); for (size_t i = 0; i < rows; ++i)
{
bar
[i
] = (int*)malloc(cols
* sizeof(int)); }
return bar;
}
void destroy_matrix(int **matrix, int rows) {
for (size_t i = 0; i < rows; i++) {
}
}
void fill_matrix(int **matrix, int rows, int cols) {
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
matrix[i][j] = (i * rows) + j;
}
}
}
void print_matrix(int **matrix, int rows, int cols) {
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
}