Глава 6. Массивы
Общие сведения о массивах
Одномерные массивы
инициализация массивов
обработка массивов
Двумерные массивы
инициализация массивов
обработка массивов
Массивы как параметры функций
Общие сведения о массивах
Массивы являются наиболее часто используемыми структурами данных, позволяющие удобным образом организовать размещение и обработку в компьютере больших объёмов информации.
Массив представляет собой набор однотипных данных, имеющих общее имя (имя массива) и различающихся местоположением в массиве.
В С++ массив не является стандартным типом данных. Напротив, он сам имеет тип: int, char, float, double и т.д. Допускается создавать массивы массивов, указателей, структур и других данных.
В массиве хранятся отдельные значения, которые называются элементами массива. Все элементы массива должны быть одного типа. Каждому элементу массива присваивается индекс (или индексы), задающий (задающие) местоположение элемента в массиве.
Под размерностью массива понимают количество измерений массива (т.е. число индексов). Размеры по каждому измерению массива вместе с типом его элементов определяют количество байтов, необходимых для размещения массива в памяти компьютера, которое выполняется на этапе компиляции. Поэтому размеры массива могут быть заданы только целой положительной константой или константным выражением, например:
int a[10]; // одномерный массив из 10 элементов
int b[3][4]; // двумерный массив из 3 строк и 4 столбцов
const int n = 10;
int a[n]; // размер массива задан константой
Размеры при объявлении массива предпочтительнее задавать с помощью именованных констант.
Чтобы определить размерность массива достаточно посмотреть на его объявление. Если в нём указан один индекс, то это одномерный массив, если два, то двумерный (или матрица), и т.д. Массивы более чем с одним индексом, называются многомерными.
Одномерные массивы
Одномерный массив представляет собой совокупность однотипных элементов, доступ к которым определяется одним индексом. Все элементы массива сохраняются в памяти последовательно, первый элемент имеет нулевой индекс (далее 1, 2, и т.д.). Индекс – это порядковый номер элемента в массиве.
Массив перед использованием в программе, как и обычную переменную, следует объявить. Объявить одномерный массив можно следующим образом:
тип_элементов имя_массива[размер_массива];
где тип_элементов – допустимый в С++ тип элементов массива;
имя_массива – идентификатор, задаваемый по тем же правилам, что и имена обычных переменных;
размер_массива – это количество элементов массива.
Примеры объявления одномерных массивов различных типов:
int a[10]; // массив из 10 элементов типа int
float array[3]; // массив из 3 элементов типа float
char mas[40]; // массив из 40 элементов типа char
Следует отметить, что использование неименованных констант при объявлении массива нежелательно.
Массивы одного типа можно объявлять списком через запятую, включая в этот список одновременно и переменные того же типа:
int maxY, maxZ, ar[10], mas[5];
При объявлении массивов необходимо помнить, что индекс первого элемента всегда равен нулю. Допустимыми считаются значения индексов, находящиеся в диапазоне от 0 до размер_массива - 1. Например, объявление
int mas[10];
предполагает наличие десяти индексированных переменных:
mas[0] mas[1] ... mas[9]
Обращение к элементу массива, индекс которого не является допустимым, приводит к возникновению ошибок, вызванных обращением к области памяти, не принадлежащей массиву.