На предыдущих занятиях переменные объявлялись по одной. Между тем, достаточно часто возникает необходимость объявить набор объектов, например 20 переменных типа int. Обычно такой набор хранят в массивах.
Массив – это набор элементов, способных хранить одинаковый тип данных. Каждый элемент хранения называется элементом массива.
Объявляя массив, необходимо сначала указать тип хранимых данных, а затем имя массива и его размер. Размером массива называется число его элементов, указываемое в квадратных скобках. Синтаксис для создания массива:
тип имя [количество элементов];
Например: int LongArray[25];
Здесь объявлен массив из 25 элементов типа long с именем LongArray. “Увидев” это объявление, компилятор зарезервирует область памяти, достаточную для хранения 25 пепеменных типа int.
К каждому из элементов массива можно обратиться по его номеру, расположенному в квадратных скобках после имени массива. Номера элементов массива начинаются с нуля. Следовательно, первым элементом массива LongArray будет LongArray[0], вторым - LongArray[1] и т.д.
Например, массив SomeArray[3] состоит из трех элементов: SomeArray[0], SomeArray[1] и SomeArray[2]. В общем случае SomeArray[n], состоящий из n элементов, содержит элементы от SomeArray[0] до SomeArray[n-1].
Рассмотрим пример, демонстрирующий, как объявить массив из 5 целых чисел и заполнить его значениями.
В строке 9 объявлен массив myArray из пяти целочисленных переменных. В строке 11 начинается цикл от 0 до 4, перечисляющий все пять элементов массива. Пользователь предлагается ввести значение, сохраняемое в соответствующем элементе массива.
Первое значение сохраняется в myArray[0], второе – в myArray[1] и т.д. второй цикл выводит каждое значение на экран.
Небольшой массив переменных встроеных типов, например int, можно инициализировать при объявлении массива. Для этого после имени массива размещают знак равенства (=) и заключенный в фигурные скобки список значений, отделяемых запятой. Например:
int IntegerArray[6] = {10, 20, 30, 40, 50, 60};
здесь объявлен массив IntegerArray из пяти целочисленных элементов, которым присвоены значения IntegerArray[0] – 10, IntegerArray[1] – 20 и т.д.
Если размер массива не указан, но список значений присутствует, то будет создан и инициализирован массив достаточного размера, чтобы содержать все перечисленные значения. Таким образом, эта строка аналогична предыдущей:
int IntegerArray[] = {10, 20, 30, 40, 50, 60};
Нельзя инициализировать количество элементов, превосходящее объявленный размер массива.
int IntegerArray[5] = {10, 20, 30, 40, 50, 60};
такая строка приведет к ошибке компиляции, поскольку объявлен массив для 5 элементов, а инициализировать пытались 6. Но следующая запись вполне допустима.
int IntegerArray[5] = {10, 20};
Здесь в не инициализированных элементах будет храниться машинный мусор.
Размерность массива должна быть константой или константным выражением. Рекомндуется размерность массива вводить как константу, в общем.
Расмотрим еще один пример создания одномерного массива.
В массиве из n элементов найти количество положительных элементов между минимальным и максимальным элементами массива.
Определить, является ли заданный текст правильной записью целого числа (возможно, со знаком).