Рассмотрим схему размещения массива, состоящего из N элементов типа int.
Под массив компилятор резервирует непрерывный участок оперативной памяти.
Младшие адреса Старшие адреса
…
…
…
Занятая
область ОП
N-2
N-1
Область ОП
В языке С не выполняется проверка выходит ли индекс массива за пределы массива. Поэтому при обработке массивов необходимо следить за тем, что индекс не выходил за пределы массива.
Индексация элементов массива
Нумерация элементов в массиве начинается с индекса 0.
Для обращения к первому элементу массива следует в качестве индекса указать 0, для обращения к 4 элементу – индеек будет 3, а для обращения к последнему элементу массива – указывается выражение: количество элементов – 1 (т.е. А[6]).
Индекс должен быть целым числом или выражением, результат вычисления которого целое число.
Какие числа будут распечатаны при выполнении следующих команд:
cout<<A[0]; //15
int i=1; cout<<A[i+1]; //8
int n=7; cout<<A[n-1]; //-11
int i=1, n=7;cout<<A[(i+n)/2]; //0, индекс 4
cout<<A[n/2]; //-1, индекс 3
Пример 4. Увеличить первый и последний элементы массива на 10.
A[0]+=10;
A[6]+=10;
Пример 5. Распечатать сумму элементов массива, индекс которых нечетное число.
cout<<A[1]+A[3]+A[5];
Имя индексированного массива является целой L-величиной, т.е. оно может быть использовано в левой части оператора присваивания.
Пример 6. Вычислить среднее арифметическое элементов массива, индекс которых четное число.