Массивы
1.1 Определение и объявление массива С++
Массивом называется конечная именованная последовательность однотипных величин. |
Массивы могут состоять из арифметических данных, символов, строк, структур, указателей. Доступ к отдельным элементам массива осуществляется по имени массива и индексу (порядковому номеру) элемента.
При объявлении массива в программе определяется имя массива, тип его элементов, размерность и размер. Размерность или количество измерений массива определяется количеством индексов при обращении к элементам массива. Массивы бывают одномерные, двухмерные, трехмерные и т.д. Размер массива – это количество его элементов по соответствующим размерностям. Общий вид объявления массива:
<имя_типа> <имя_массива> [k1] [k2] … [kn]; |
где k1, k2, …, kn – количество элементов массива – константы или константные выражения по 1, 2, …, n измерениям. Причем значения индексов могут изменяться от 0 до n – 1.
Такое объявление массива называют статическим, поскольку предельное количество его элементов известно заранее и оно уже не может быть изменено в ходе выполнения программы. При работе с массивами необходимо следовать следующим правилам:
¨ современные трансляторы языка С++ не контролируют допустимость значений индексов, это должен делать программист;
¨ количество измерений массива не ограничено;
¨ в памяти элементы массива располагаются так, что при переходе от элемента к элементу наиболее быстро меняется самый правый индекс массива, т.е. матрица, например, располагается в памяти по строкам;
¨ имя массива является указателем – константой на первый элемент массива;
¨ операций над массивами в С++ нет, поэтому пересылка элементов одного массива в другой может быть реализована только поэлементно с помощью цикла;
¨ над элементами массива допускаются те же операции что и над простыми переменными того же типа;
¨ ввод/вывод значений элементов массива можно производить только поэлементно;
¨ начальные значения элементам массива можно присвоить при объявлении массива.
Примеры объявления массивов:
int A [10]; //одномерный массив из 10 целочисленных величин float X [20]; //одномерный массив из 20 вещественных величин int a[5]={1, 2, 3, 4, 5}; //массив с инициализацией его элементов int c[]={–1, 2, 0, –4, 5, –3, –5, –6, 1}; // массив размерность которого определяется числом инициализирующих элементов int d[3][4]; // двумерный массив из 12 целых чисел (3 строки, 4 столбца) |
Обращения к элементам одномерного массива могут иметь вид: A[0], A[1], A[2],…A[9], A[2*3]; к элементам двумерного массива В[0][0], B[1][3],…., B[2][3].