Я пытаюсь передать "test_array" двойному указателю "** values", который является членом структуры "Matrix".
Я хочу избежать использования "malloc", потому что яхочу использовать код для встроенного системного приложения.Существуют матрицы разных размеров, и я хочу использовать только одну структуру.Идея заключается в том, чтобы указать на статический 2d-массив, чтобы не было конфликтов памяти.
#include <stdio.h>
struct Matrix {
int rows;
int columns;
double **values;
};
static double test_array[2][3] = {{1,2,3},{4,5,6}};
int main (void)
{
struct Matrix matrix;
int i,j;
matrix.rows = 2;
matrix.columns = 3;
matrix.values = test_array;
for (i=0; i<matrix.rows; i++) {
for (j=0; j<matrix.columns; j++) {
printf("%f ", *(*(matrix.values + i) + j));
}
printf("\n");
}
}
Указание на 1-й массив не имеет большого значения, но как оно работает для-d массив?