int** two_dimension_to_two_ptr(void * arr, const int row, int col)
{
int** return_array = (int**)malloc(sizeof(int*) * row);
for (int index = 0; index < row; index++) {
return_array[index] = (int*)arr + index * col;
}
return return_array;
}
int matrix[4][3] = { {1, 2,3},{5, 6,8},{4, 10,7} };
int** wkjsf = two_dimension_to_two_ptr((void*)matrix,sizeof(matrix)/sizeof(matrix[0]),sizeof(matrix[0]) / sizeof(matrix[0][0]));
for (int i = 0; i < sizeof(matrix[0]) / sizeof(matrix[0][0]); i++) {
for (int j = 0; j < sizeof(matrix[0]) / sizeof(matrix[0][0]); j++) {
std::cout << wkjsf[i][j] << std::endl;
}
}
注:一定要记得释放内存啊