Массивы Objective-C
Язык программирования Objective-C предоставляет структуру данных, называемую the array, который может хранить последовательную коллекцию фиксированного размера элементов одного и того же типа. Массив используется для хранения набора данных, но часто бывает более полезно думать о массиве как о коллекции переменных одного типа.
Вместо объявления отдельных переменных, таких как число0, число1, ... и число99, вы объявляете одну переменную массива, такую как числа, и используете числа [0], числа [1] и ..., числа [99] для представления отдельные переменные. Доступ к определенному элементу в массиве осуществляется по индексу.
Все массивы состоят из непрерывных ячеек памяти. Самый низкий адрес соответствует первому элементу, а самый высокий адрес - последнему элементу.
Объявление массивов
Чтобы объявить массив в Objective-C, программист указывает тип элементов и количество элементов, необходимых для массива, следующим образом:
type arrayName [ arraySize ];
Это называется одномерным массивом. ВarraySize должно быть целочисленной константой больше нуля и typeможет быть любым допустимым типом данных Objective-C. Например, чтобы объявить массив из 10 элементов с именемbalance типа double используйте это выражение -
double balance[10];
Теперь баланс - это переменный массив, которого достаточно для хранения до 10 чисел двойной точности.
Инициализация массивов
Вы можете инициализировать массив в Objective-C либо по одному, либо с помощью одного оператора следующим образом:
double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
Количество значений в скобках {} не может быть больше количества элементов, объявленных нами для массива в квадратных скобках []. Ниже приведен пример назначения одного элемента массива:
Если вы не укажете размер массива, будет создан массив, достаточно большой, чтобы вместить инициализацию. Поэтому если написать -
double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};
Вы создадите точно такой же массив, как и в предыдущем примере.
balance[4] = 50.0;
Вышеупомянутый оператор присваивает элементу 5-му в массиве значение 50.0. Массив с 4-м индексом будет 5-м, т. Е. Последним элементом, потому что все массивы имеют 0 как индекс своего первого элемента, который также называется базовым индексом. Ниже приведено графическое представление того же массива, который мы обсуждали выше.
Доступ к элементам массива
Доступ к элементу осуществляется путем индексации имени массива. Это делается путем помещения индекса элемента в квадратные скобки после имени массива. Например -
double salary = balance[9];
Приведенный выше оператор возьмет 10-й элемент из массива и присвоит значение переменной зарплаты. Ниже приведен пример, в котором будут использоваться все три вышеупомянутых концепции, а именно. объявление, присвоение и доступ к массивам -
#import <Foundation/Foundation.h>
int main () {
int n[ 10 ]; /* n is an array of 10 integers */
int i,j;
/* initialize elements of array n to 0 */
for ( i = 0; i < 10; i++ ) {
n[ i ] = i + 100; /* set element at location i to i + 100 */
}
/* output each array element's value */
for (j = 0; j < 10; j++ ) {
NSLog(@"Element[%d] = %d\n", j, n[j] );
}
return 0;
}
Когда приведенный выше код компилируется и выполняется, он дает следующий результат:
2013-09-14 01:24:06.669 demo[16508] Element[0] = 100
2013-09-14 01:24:06.669 demo[16508] Element[1] = 101
2013-09-14 01:24:06.669 demo[16508] Element[2] = 102
2013-09-14 01:24:06.669 demo[16508] Element[3] = 103
2013-09-14 01:24:06.669 demo[16508] Element[4] = 104
2013-09-14 01:24:06.669 demo[16508] Element[5] = 105
2013-09-14 01:24:06.669 demo[16508] Element[6] = 106
2013-09-14 01:24:06.669 demo[16508] Element[7] = 107
2013-09-14 01:24:06.669 demo[16508] Element[8] = 108
2013-09-14 01:24:06.669 demo[16508] Element[9] = 109
Подробно о массивах Objective-C
Массивы важны для Objective-C и требуют гораздо большего количества деталей. Существует несколько важных концепций, связанных с массивом, которые должны быть понятны программисту на Objective-C:
Sr. No. | Концепция и описание |
---|---|
1 | Многомерные массивы Objective-C поддерживает многомерные массивы. Простейшей формой многомерного массива является двумерный массив. |
2 | Передача массивов в функции Вы можете передать функции указатель на массив, указав имя массива без индекса. |
3 | Возврат массива из функции Objective-C позволяет функции возвращать массив. |
4 | Указатель на массив Вы можете сгенерировать указатель на первый элемент массива, просто указав имя массива без индекса. |