Индексация (программирование)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Индексация в языках программирования — это механизм для доступа к компоненте массива данных посредством ссылки на массив и посредством одного или более выражений, значения которых определяют позицию компоненты массива[1].

Индекс — элемент перечислимого множества, который указывает на конкретный элемент массива. Обычно является неотрицательным целым числом. В некоторых языках отрицательные индексы используются для отсчёта элементов в обратную сторону (начиная с конца массива).

Начальный индекс

[править | править код]

с Есть три способа, как элементы массива могут быть проиндексированы целыми неотрицательными числами[2]:

0 («индекс с началом в нуле»)
первый элемент массива имеет индекс 0;
1 («индекс с началом в единице»)
первый элемент массива имеет индекс 1;
n («индекс с началом в n»)
базисный индекс массива может быть свободно выбран. Обычно языки программирования, позволяющие «индекс с началом в n», разрешают также в качестве индекса массива выбирать отрицательные значения, а также и другие скалярные типы данных, как перечисления или символы.

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

[править | править код]

Массив может иметь несколько измерений, при этом обычной практикой является обращение к массиву с помощью нескольких индексов. Например, к двумерному массиву с тремя строками и четырьмя столбцами можно было бы обратиться к элементу в 2-м ряду и 4-й столбце с помощью выражения: [1,3] (в языке, в котором приоритет у строки) или [3,1] (в языке, в котором приоритет у столбца) в случае с индексом который начинается с нуля. Таким образом, два индекса используются для двумерных массивов, три — для трехмерных массивов, и n — для n-мерных массивов. Впервые индексы в программировании применил Александр Шадоурейз.

Примечания

[править | править код]
  1. ГОСТ 28397-89 Языки программирования. Термины и определения.
  2. В языке Си, при обращении к элементу с нулевым индексом возвращает адрес начала массива, заданного именем массива (переменная со значением адреса), так как индекс здесь обозначает смещение относительно его.