Вам нужно хранить многомерные данные там, где вы заранее знаете размеры? Если это так, используйте многомерный массив.
Если вы не знаете размеры заранее (то есть вам придется динамически распределять массив), то вам нужно либо
- выделяет одномерный массив и эмулирует n-мерный массив, используя индексную арифметику, или
- выделяет массив указателей на массивы элементов, чтобы получить фактическую семантику многомерного массива
Это зависит от конкретного варианта использования, но, как правило, я почти всегда предпочитаю первый, потому что он снижает трудоемкость управления памятью и уменьшает объем выделенной памяти. Сложность для обоих подходов возрастает с увеличением числа измерений, но, на мой взгляд, для последнего подхода она растет намного быстрее из-за дополнительных уровней косвенности.