Распределение массивов

 
 

Объем памяти, занимаемый массивом, равен:

где S – длина одного элемента данного типа,

m – число измерений (размерность массива),

di – число элементов массива в i-м измерении (длина измерения),

hi – максимальное значение индекса в i-м измерении (верхняя граница),

li – минимальное значение индекса в i-м измерении (нижняя граница).

Пример.

dim aMatr(1 to 10, 1 to 10) as double V=(10-1+1)*(10-1+1)*8=800 байтов.

 
 

Иногда (особенно при отладке программы) требуется определить номер по порядку следования в памяти элемента многомерного массива по известным индексам (развернуть в одномерный). Он определяется по формуле:

где ni – значение i-го индекса.

Пример. Описание массива имеет вид: float array[10][6][5];

Адрес элемента массива array[2][3][1] равен: N=6*5*2+5*3+1+1=77

Напомним, что формула и пример относятся к языку C, где минимальный индекс в каждом измерении равен 0.