Программирование на C и C++

Онлайн справочник программиста на C и C++

Многомерные массивы

С позволяет создавать массивы с размерностями больше двух. Многомерный массив объявляется следующим образом:

тип имя [разнерN] ... [размер2] [размер1];
 

Массивы, имеющие более трех размерностей, используются чрезвычайно редко, поскольку требуется большой объем памяти для их хранения.

Важно знать, что в многомерных массивах требуется некоторое время на вычисление каждого индекса. Это означает, что доступ к элементу в многомерных массивах происходит медленнее, чем доступ в одномерных массивах. По этой и другим причинам, если возникает необходимость в многомерных массивах, для них чаще всего память выделяется динамически с использованием функции динамического выделения памяти.

При передаче многомерных массивов функции следует определить все размерности, кроме самой левой. Например, если массив m определен как
int m [4] [3] [6] [5];

то функция func1(), получающая m, может выглядеть следующим образом:

int func1 (int d[] [3] [6] [5])
{
...
}

Конечно, можно свободно включить и левую размерность, если так нравится.