Можем да кажем със сто процента сигурност, че няма програмист, който да не използва масив в своите програми. Те не само опростяват живота на разработчика, но също така дават възможност да се изпълняват задачи, които е просто невъзможно да се изпълнят без него.
Масивът е подредена колекция от данни, по избор от същия тип, която се идентифицира от един или повече индекси. Първият тип масив е статичен. Той присъства на всички езици на високо ниво. Такива масиви могат да бъдат едномерни и многомерни (обикновено те имат не повече от 2 или 3 измерения). Някои езици нямат последното, например ActionScript. В него те се организират чрез създаване на така наречения „масив от масиви“, т.е. поставяне в клетки на масив не прости данни (int, Boolean, байт и т.н.), а други масиви. Примери за деклариране на статичен масив на различни езици: В Pascal: x: array [1..15] на Integer; {Едномерен масив от 15 елемента от тип Integer} x1: масив [1..5, 1..5] от Char; {Двуизмерен масив (таблица) с 5 реда и 5 колони} В C / C ++: int a [10]; // Едномерен масив за 10 елемента от тип integer (int) double b [12] [15]; // Двумерен масив с 12 реда и 15 колони от двоен тип Вторият тип масив е динамичен. Този тип може да промени размера си по време на изпълнение на програмата. Тази функция може да бъде доста полезна. Използва се, когато е трудно веднага да се реши какво измерение да се създаде масив. Примери: В Delphi: a1: масив от байт; // Едномерен масив от тип байт a2: Масив от масив char; // Многоизмерен масив от тип char В C ++: float * arr1; // Едномерен масив int ** arr2; // Многоизмерен масив arr1 = new float [70]; // разпределение на 70 плаващи блока arr2 = new int * [99]; // разпределение на 99 блока с размер на указател към int за (int k = 0; k <99; k ++) arr2 [k] = new int [17]; Предимства на масивите - лекота на определяне на адреса на елемент по индекс, едно и също време за достъп до всеки елемент и малък размер на елементи. Има обаче някои недостатъци, присъщи на различните им видове. Например недостатъкът на статичния масив е липсата на динамика, докато динамичният масив е по-бавен. Ето защо си струва да изберете точно типа, който е оптимален за решаване на разглежданата задача.