Понятие массива. Его объявление и инициализация

Массив – это совокупность элементов одного типа, обозначаемых единым именем и размещенных в смежных ячейках памяти.

Простейший одномерный массив можно в общем случае объявить так:

class type name[size];

Здесь class – желаемый класс памяти, type – тип элементов массива, name – имя массива, size – количество элементов в массиве. Массивы могут иметь любой класс памяти, кроме, естественно, register.

Увидев такое объявление, компилятор автоматически резервирует под массив необходимое число байт ОЗУ, равное size*sizeof(type). Содержимое выделенных ячеек памяти зависит от указанного класса памяти, который выбирается программистом точно так же, как и для простых переменных. Если указан класс памяти auto, то до первого явного присваивания выделенные ячейки содержат "мусор", при указании класса static все элементы массива автоматически обнуляются.

Если значения элементов массива известны при написании программы (т. е. являются исходными данными), то часто массив инициализируется одновременно с его объявлением:

int first[5] = {3, 7, 4, 0, 25};

Количество констант требуемого типа, перечисленных через запятую в фигурных скобках, может быть меньше, чем длина массива. Тогда оставшиеся элементы инициализируются нулем. Если же численные значения получают все элементы массива, то его размерность в принципе можно и не указывать – компилятор сам ее подсчитает по количеству констант:

int first[] = {3, 7, 4, 0, 25};

Для обращения к конкретному элементу массива достаточно указать его индекс, например m = first[2]; в результате чего переменная m примет численное значение элемента first[2], равное –4. Это получилось потому, что в языке С++ индексы массивов начинаются с нуля!Можно сказать, что индекс элемента характеризует его удаленность от начала массива.

В данном примере объявлен массив из пяти целых чисел, причем к первому из них можно обратиться как first[0], а к пятому – как first[4].

Обычно к элементам массива обращаются в цикле, число повторений которого равно, как правило, количеству элементов массива n:

for(i = 0; i < n; i++)

{

.......first[i]......

}