Программирование.

16. Методы доступа к элементам массивов.

Доступ к элементам массива может производиться двумя различными способами.

Первый способ связан с применением обычных индексных выражений в квадратных скобках, например: аrrау[18] = 3 или аrrау[i + 3] = 9. При данном способе доступа записываются два выражения. Второе выражение должно быть заключено в квадратные скобки. Одно из данных выражений должно являться указателем, а второе – выражением целого типа. Последовательность записи данных выражений может быть произвольной, однако в квадратных скобках следует записывать выражение, следующее вторым. Поэтому записи аrrау[16] и 16[аrrау] будут являться одинаковыми и обозначающими элемент массива с номером шестнадцать. Указатель, который используется в индексном выражении, не всегда является константой, которая указывает на какой-либо массив, это может быть и переменная. Например, после выполнения присваивания рtr = аrrау доступ к шестнадцатому элементу массива можно получить, применяя указатель рtr в форме рtr[16] или 16[рtr].

Второй способ доступа к элементам массива связан с применением адресных выражений и операции раза-дресации в виде *(аrrау+16) = 3 или *(аrrау+i+2) = 7. При данном способе доступа адресное выражение соответствует адресу шестнадцатого элемента массива, тоже может быть записано различными способами: *(аrrау+16) или *(16+аrrау).

При работе на компьютере первый способ приводится ко второму, т. е. индексное выражение становится адресным. Для ранее рассмотренных примеров аrrау[16] и 16[аrrау] преобразуются в *(аr-rау+16).

Для доступа к начальному элементу массива, т. е. к элементу с нулевым индексом, можно применять просто значение указателя аrrау или рtr. Любое из присваиваний.

*аrrау = 2;

Аrrау[0] = 2; *(аrrау+0) = 2; *рtr = 2;

Рtr[0] = 2;

*(рtr+0) = 2;

Присваивает начальному элементу массива значение 2, но быстрее всего выполнятся присваивания *аrrау = 2 и *рtr = 2, так как в них не требуется выполнять операции сложения.