Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник 357.docx
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
1.75 Mб
Скачать

10. 1 Теоретические сведения

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

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

Порядковый

номер

0

1

2

3

i

n-1

Значение

-5

19

80

-127

127

-124

Массив из n элементов

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

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

Объявление массива:

int a[100], ab[2*40];

double c[200], speed[NVAL];

char name[20];

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

Обращение к элементам массива осуществляется путем индексации, т.е. использования индексированных переменных, состоящих из имени массива и порядкового номера элемента в массиве (индекса).

Обращение к элементу массива:

ab[i]=10+i*100;//задание значения i-му элементу

a=5/ab[0];//использование значения нулевого элемента

Следует помнить, что в языке Си нумерация элементов массива начинается с нуля.

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

Использование элементов массива:

B=c[5]+1;

y=2*sin(speed[19]/180*M_PI);

При работе с индексированными переменными необходимо внимательно следить за тем, чтобы индексы не вышли из допустимого диапазона, определяемого описаниями массивов.

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

Инициализация массива:

int a[4] = { 15, 21, 1, 304 };

int c[] = { 1, 15, 18, 11, 20 };

Индекс

0

1

2

3

4

Значение

1

25

18

11

20

Массив с[]

Для ввода и вывода элементов массива в языке Си не предусмотрено специальных средств, поэтому для однотипной обработки удобно использовать циклыcпараметрами for.При инициализации задается начальный индекс, в условии проверяется, не выходит ли значение индекса за границы массива. В теле цикла на каждой итерации изменяется индекс и выполняется операция с индексируемым элементом массива.

Вывод массива:

for (int i=0;i<4;i++)

printf("\n a[%d]= %d", i, a[i]);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]