Массивом называется упорядоченный набор данных, необязательно одного типа, который идентифицируется при помощи одного или нескольких индексов. Первый тип массива – статический. Он присутствует во всех языках высокого уровня. Такие массивы бываю одномерными и многомерными (обычно имеют не более чем 2 или 3 измерения). В некоторых языках последние отсутствуют, например, ActionScript. В нем они организуются при помощи создания так называемого «массива массивов», т.е. размещения в ячейках массива не простых данных (int, Boolean, byte и т.д.), а других массивов. Примеры объявления статического массива в различных языках: В языке Pascal: x : array [1..15] of Integer; { Одномерный массив 15ти элементов типа Integer } x1 : array [1..5, 1..5] of Char; { Двумерный массив (таблица) на 5 строк и 5 столбцов } В языках C/C++: int a[10]; // Одномерный массив на10 элементов типа целое число (int) double b[12][15]; // Двумерный массив на 12 строк и 15 столбцов типа doubleВторым видом массива является динамический. Данный тип может менять свой размер в процессе выполнения программы. Эта особенность может быть весьма полезной. Она используется в том случае, когда сложно сразу решить, какой размерности стоит создавать массив. Примеры: В языке Delphi: a1 : Array of Byte; // Одномерный массив типа byte a2 : Array of Array of char; // Многомерный массив типа char В языке С++: float *arr1; // Одномерный массив int **arr2; // Многомерный массив arr1 = new float[70]; // выделение 70 блоков размером float arr2 = new int*[99]; // выделение 99 блоков размером указателя на int for ( int k = 0; k < 99; k++) arr2 [ k ] = new int [ 17 ] ;Достоинства массивов - легкость определения адреса элемента по индексу, одинаковое время доступа к любому элементу и небольшой размер элементов. Однако, есть и некоторые недостатки, свойственные их различным типам. Например, недостатком статического массива является отсутствие динамики, а динамического массива – более низкое быстродействие. Поэтому стоит выбирать именно тот тип, который оптимально подходит для решения поставленной задачи.
Видео по теме