Довольно часто возникает необходимость хранить и оперировать большим объёмом однотипной информации. Как вы помните, для хранение информации используют переменные (каждая переменная имеет собственное уникальное имя), однако тут проявляется новая проблема, нужно обращаться отдельно к каждой ячейки с данными при этом желательно не запутаться в именах переменных. Для выхода из сложившегося положения задают не имя ячейки, а имя группы ячеек, а уже в группе - каждой ячейке соответствует её собственный номер. Это и называется массивом.
Сформулируем определение массива – группа ячеек одинакового типа, что имеет общее имя и у каждой ячейки в группе есть свой уникальный номер.
Последовательность действий при работе с массивом данных:
- выделяем память под массив;
- записываем данные в ячейку(ки);
- считываем данные с ячейки(ек).
Объявление массива
Для того, чтобы выделить под массив определенный объём памяти его нужно объявить. Объявление массива похоже на объявление переменной. Для начала задаём тип массива (тип входящих в него элементов) - int, char, и т.д. Далее идёт имя_массива (name_array), а в квадратных скобках записывается его размер.
int array_first[10];
char array_cars[20];
При объявлении массива можно заполнить его значениями.
int array_first [6] = { 1, 4, 17, 43, 31, 8 };
Следует запомнить следующее, если вы записали в фигурных скобках меньше чисел, чем элементов массива, то оставшееся элементы заполняться нулями, а если больше – то транслятор выдаст ошибку.
int array_first [6] = { 1 };
Чтобы не рыскать по программе в поисках массива, размер которого необходимо изменить, размеры лучше задавать через константу. Меняем значение константы и всё готово:
const int number = 10; // константа
main()
{
int array_first [number]; // размер массива задаётся через константу
...
}
Размер массива нужно указывать либо при объявлении, либо через константу. Массив будет объявлен неправильно, если не указать его размер или задать его размер через переменную.
Обращение к элементу массива
Для обращения к элементу массива – записываем имя массива, а в квадратных скобках - номер вызываемого элемента (индекс ячейки).
Нумерация элементов массива начинается с нуля.
Массив из 5 элементов:
array[0], array [1], array [2], array [3], array [4]
variable = (array [3] + 5)* array [1]; // считываем значения array [1] и array [3]
array [0] = variable + 6; // записать новое значение в array [0]
Сишка не контролируется выход за границы размеров массива, поэтому можно записать данные в элемент с несуществующим индексом, например в array [345]. При этом ваша команда благополучно выполнится, и вы своими же руками сотрёте одну из ячеек памяти, не относящуюся к массиву. Последствия такого шага будут непредсказуемыми, одному Богу известно как это отразится на поведении программа.
За массивы можно говорить очень долго и лучше это делать в процессе выполнения той или иной задачи, чтобы материал лучше усваивался. На данный момент всё. Продолжение следует…