Адресация элементов в многомерных массивах работает на основе индексов, которые указывают на конкретный элемент в массиве. 24
Обычно элементы многомерных массивов располагаются в памяти подряд по строкам, при этом быстрее всего изменяется последний индекс, а медленнее — первый. 4 Такой порядок позволяет обращаться к любому элементу многомерного массива, используя адрес его начального элемента и только одно индексное выражение. 4
Для двухмерного массива формула получения элемента из определённой строки и столбца выглядит так: 3
element_address = base_address + (row_index * col_size + col_index) *element_size
, где: 3
Нумерация строк и столбцов начинается с нуля, то есть номер первой строки или первого столбца — 0. 3
Пример: есть двухмерный массив numbers, нужно получить элемент в 2-й строке и 3-м столбце (число 7). 3 Тогда расчёт адреса элемента будет таким: element_address = адрес_numbers + (1 * 4 + 2) *4
, то есть для получения адреса числа 7 нужно к адресу массива numbers прибавить (1 * 4 + 2) *4 = 6 * 4 = 24 байт. 3