Массив - набор однотипных(на самом деле зависит от ЯП) элементов последовательно расположенных в памяти, доступ к которым осуществляется по индексу. Массив нужен для именования группы элементов(обычно однотипных) одной переменной с озможностью обращения к произвольному элементу. Какой бывает...ну тут можно по разному разделять. По числу индексов: *Одномертый(вектор); *Двумерный(матрица); *Трехмерный; *и т.д. максимальное число индексов зависит от конкретного ЯП. По типу хранимых данных: *Однотипные; *Гетерогенные. По размерности: *Статические - максимальное число элементов определено изначально. *Динамические - максимальное число элементов может изменяться по ходу программы.