Итак, есть матрица float matrix[N][M] = {...};
есть функция, в которую передается указатель на матрицу и её размерности в виде параметров
void foo(float *matrix_ptr, int n, int m);
Вопрос простой: каким образом можно внутри функции обратиться к данным массива в виде
temp = matrix_ptr[i][j];
средствами чистого си?
Единственный вариант, который видится - вычислять смещения вручную. Либо жестко задавать размерность в параметрах функции.
Может, есть какое-нибудь волшебное заклинание, приводящее произвольный указатель к массиву нужной размерности?
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|