double arrow

Одномерные массивы. Массив представляет собой упорядоченную конечную совокупность элементов одного типа


Массивы

Массив представляет собой упорядоченную конечную совокупность элементов одного типа. Число элементов массива называют его размером. Каждый элемент массива определяется идентификатором (именем) массива и своим порядковым номером – индексом. Индекс – целое число, по которому производится доступ к элементу массива.

Индексов может быть несколько. В этом случае массив называют многомерным, а количество индексов одного элемента массива называется его размерностью.

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

Описание массива в программе отличается от описания простой переменной наличием после имени квадратных скобок, в которых задается количество элементов массива. Например, double b[10]; – описание массива из 10 вещественных чисел.

В программе одномерный массив объявляется следующим образом:

типID_массива [размер] = {список начальных значений};

тип – тип элементов массива;




размер – количество элементов в массиве.

Список начальных значений используется при необходимости задать начальные значения (инициализировать элементы массива), он может отсутствовать. Значения в списке разделяются запятыми. (Такое задание списка элементов массива допустимо только при его инициализации и недопустимо в операции присваивания).

Примеры объявления массива:

int a[6];

double x[5]={2, 3.5, -4.5e3, 2.34, -.7 };

Если в группе {…} список значений короче, то оставшимся элементам присваивается 0.

Обращение к конкретному элементу массива в программе осуществляется путем записи имени массива и за ним в квадратных скобках - номера элемента, например:

a[0]=1;

a[i]++;

a[3]=a[i]+a[i+1];

Индексы массивов в языке Си начинаются с 0, т.е. в массиве x первый элемент: x[0], второй – x[1], … пятый – x[4].

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

С другой стороны, если требуемое количество элементов массива заранее неизвестно, часто объявляют массив достаточно большого размера, а используют лишь столько из его элементов, сколько нужно. При этом требуется переменная, задающая количество используемых в данный момент элементов массива:

int a[100], n, i;

M: cout<<"Vvedite kolichestvo elementov (ne bolshe 100)";

cin>>n;

if (n>100) goto M;

cout<<"Vvedite elementy:\n";

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

cin >> a[i];

Внимание. В языке Си с целью повышения быстродействия программы отсутствует механизм контроля выхода за границы индексов массивов. При необходимости такой механизм должен быть запрограммирован явно.







Сейчас читают про: