Вопрос насчёт описания двумерных матриц

 
Я тут опять про матрицы спрашиваю. Нужно описать двумерную матрицу, размер которой задаётся какими-то вычислениями. double arr[m][n] нельзя. ArrayResize(arr,m) работает только по первому размеру. Как же мне второй размер приписать? Заранее спасибо.
 
1) Резервировать второй размер (и последующие) по максимально возможному числу элементов в нем - самый простой и малоэстетичный способ, к тому же неэкономно расходующий память, однако для не очень больших прямоугольных матриц вполне подходящий;
2) Представлять многомерные массивы в виде одномерных (именно в таком виде они хранятся в памяти машины) и вычислять индексы - сложный, довольно медленный, но зато самый гибкий способ, особенно если приходится работать с большими массивами с числом измерений больше 4-х и надо экономить память.
 
Этого я и боялся. Если не трудно, alexjou, не могли бы вы пояснить как представлять многомерные массивы в виде одномерных. Им нужно приписывать разные имена? Покажите пожалуйста на примере.
 
Вариант конструкций для двумерных массивов есть в "Как изменить размерность массива?" . Новые размерности можно добавить аналогично.
Кстати, вычислять индексы не такой уж и долгий процесс, по крайней мере для разумного числа измерений, а вот громоздкость кода должна расти стремительно.
 
Идею понял. Очень простая, но почему то сам не додумался.