ВУЗ:
Составители:
k:=-3; C[k]:=80;
c2:=’G’; D[c2]:=’Й’;
end.
Чаще же всего используют диапазон значений целого типа, причем нижний индекс обычно
берут равным 1.
Например:
Var
E: Array [1..10] of integer; {массив E, состоящий из 10 элементов,
нижняя граница индекса 1, верхняя 10}
Представление массива в памяти
Элементы массива размещаются в памяти в последовательных
ячейках. Массив занимает количество байт, равное произведению
количества элементов массива на размер одного элемента:
SizeOfArray = NumElement * SizeOfElement
где SizeOfArray – размер массива
NumElement – количество элементов в массиве
SizeOfElement – размер одного элемента
Адрес первого (по порядку) элемента массива является адресом массива (будем обозначать
его AdrArray). Адрес i-го элемента массива (его будем обозначать AdrI) можно вычислить по
формуле:
AdrI = AdrArray + (i – нижняя_граница_индекса) * SizeOfElement
Для примера рассмотрим массив B, определенный выше. Нижняя граница индекса этого
массива = 5. Первый (по порядку) элемент массива - B[5]. Пусть его адрес = 100. Размер
каждого элемента 6 байт, поскольку тип элементов - Real.
Вычислим адреса остальных элементов массива
Adr6 = 100 + (6-5)*6 = 100 + 1*6 = 106
Adr7 = 100 + (7-5)*6 = 100 + 2*6 = 112
Adr8 = 100 + (8-5)*6 = 100 + 3*6 = 118
Графически покажем взаимное расположение элементов этого массива:
Адрес
элемента
Элемент
100 B[5]
106 B[6]
112B[7]
118B[8]
Замечание: Один массив может занимать в памяти не более 65520 байт. Нельзя, например,
определить такой массив C:
Var C: array[1..50000] of integer;
- каждый элемент этого массива занимает в памяти 2 байта, элементов 50000, значит весь
массив занимает 100000 байт > 65520 байт.
Пользовательский тип - массив
В программе можно определить тип массива, для того чтобы потом его использовать для
определения переменных типа массива.
Пример:
Type
Arr = array[1..20] of integer; {определили тип массива целых чисел
содержащего 20 элементов}
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »