Масивом називається упорядкований набір даних, необов'язково одного типу, який ідентифікується за допомогою одного або декількох індексів. Перший тип масива - статичний. Він присутній у всіх мовах високого рівня. Такі масиви буваю одновимірними і багатовимірними (зазвичай мають не більше ніж 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 ] -Достоинства масивів - легкість визначення адреси елемента за індексом, однаковий час доступу до будь-якого елементу і невеликий розмір елементів. Однак, є й деякі недоліки, властиві їх різним типам. Наприклад, недоліком статичного масива є відсутність динаміки, а динамічного масива - більш низька швидкодія. Тому варто вибирати саме той тип, який оптимально підходить для вирішення поставленого завдання.