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

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

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

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

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

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

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

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

См. также

Примечания

  1. ГОСТ 28397-89 Языки программирования. Термины и определения.
  2. В языке Си, при обращении к элементу с нулевым индексом возвращает адрес начала массива, заданного именем массива (переменная со значением адреса), так как индекс здесь обозначает смещение относительно его.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.