Представление двумерного массива в виде одномерного. Соответствие индексов двумерного и одномерного
Двумерный массив - это одномерный массив, элементами которого являются одномерные массивы.
Элементами массива, состоящего из N элементов, являются переменные с индексами a[0],a[1],…,a[N–1]. Исходя из общего принципа размещения элементов массива в памяти (плотно и в порядке возрастания номеров), можно утверждать, что элементы двумерного массива m[3][4] займут места в памяти в следующем порядке: m[0][0], m[0][1], m[0][2], m[0][3], m[1][0], m[1][1], m[1][2], m[1][3], m[2][0], m[2][1], m[2]2], m[2][3].
Многомерные массивы (объявление, индексация, хранение в памяти, сортировка). Пример
тип имя [разнерN]... [размер2] [размер1];
Массивы, имеющие более трех размерностей, используются чрезвычайно редко, поскольку требуется большой объем памяти для их хранения.
Важно знать, что в многомерных массивах требуется некоторое время на вычисление каждого индекса. Это означает, что доступ к элементу в многомерных массивах происходит медленнее, чем доступ в одномерных массивах. По этой и другим причинам, если возникает необходимость в многомерных массивах, для них чаще всего память выделяется динамически с использованием функции динамического выделения памяти.
При передаче многомерных массивов функции следует определить все размерности, кроме самой левой. Например, если массив m определен как
int m [4] [3] [6] [5];
то функция func1(), получающая m, может выглядеть следующим образом:
int func1 (int d[] [3] [6] [5])
{
...
}
Не нашли, что искали? Воспользуйтесь поиском:
|