Язык Objective-C позволяет определить набор упорядоченных элементов данных, который называется массивом(array). На нашем блоге описывается определение и управление массивами. Также на блоге описывается использование массивов совместно с функциями, структурами, символьными строками и указателями.

Предположим, что вам нужно считать набор оценок(grades) и затем выполнить с ними некоторые операции, например, расположить их в порядке возрастания, вычислить среднее значение и найти медиану. Вы не можете выполнить эти операции, пока не введете все оценки.

В Objective-C вы можете определить переменную с именем grader, которая представляет не одно значение оценки, а весь набор оценок. Для ссылки на элементы этого набора используется число, которое называется порядковым номером, или индексом(index или subscript).

В математике i-й элемент набора x обозначается как xi. В Objective-C он обозначается как:

Тем самым, выражение:

соответствует элементу с номером 5 в массиве с именем grades. В Objective-C элементы массива начинаются с номера 0, поэтому:

на самом деле обозначает первый элемент массива.

Отдельный элемент массива можно использовать в любом месте как обычную переменную. Например, элемент массива можно присвоить другой переменной с помощью оператора:

Здесь значение, содержащееся в grades[50], присваивается переменной g. В общем виде, если i объявлена как целая переменная, оператор:

присваивает переменной g значение, содержащееся в элементе с номером i массива grades.

Чтобы сохранить значение в элементе массива, нужно указать этом элемент массива слева от знака равенства.

В операторе:

значение 95 сохраняется в элементе с номером 100 массива grades.

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

выполняется перебор первых 100 элементов массива grades(элементы 0-99), и значение каждой оценки(grade) добавляется к переменной sum. По окончании цикла for переменная sum будет содержать сумму первых 100 значений массива grades(если sum присвоено значение 0 до начала цикла).

Как и с другими типами переменных, необходимо объявить массив, прежде чем использовать его. Объявление массива — это объявление типа элементов, содержащихся в массиве — это объявление типа элементов, содержащихся в массиве(например: int, float или объект) и максимального числа элементов в массиве.

Определение:

объявляет fracts как массив, содержащий 100 дробей(fraction). Для обозначения элементов этого массива нужно использовать индексы от 0 до 99. Выражение:

представляет вызов метода add: класса Fraction для сложения первых двух дробей из массива fracts и сохранения результат в третьем элементе массива.

В программе 1.2 создается таблица из первых 15 чисел Фибоначчи. Попытайтесь предсказать ее результаты. Какая связь существует между числами этой таблицы?

Вывод программы 1.2:

Первые два числа Фибоначчи, которые мы назовет F0 и F1, определяются соответственно как 0 и 1. Затем каждое следующее число Фибоначчи Fi определяется как сумма двух предыдущих чисел Фибоначчи Fi-2 и Fi-1.

Например, F2 вычисляется как сумма значений F0 и F1. В приведенной программе это соответствует вычислению Fibonacci[2] путем сложения значений Fibonacci[0] и Fibonacci[1]. Вычисление выполняется внутри сложения значений Fibonacci[0] и Fibonacci[1].
Вычисление выполняется внутри цикла for для значений F0-F14(то есть от Fibonacci[2] до Fibonacci[14]).

Интересное видео о массивах Objective-C: