Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kurs_7_var.doc
Скачиваний:
3
Добавлен:
03.09.2019
Размер:
601.09 Кб
Скачать

Понятие массива

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

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

Объявление одномерных массивов

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

тип_данных имя_массива [размер_массива];

Имя_массива – это идентификатор массива. Тип_данных задает тип элементов объявляемого массива. Элементами массива не могут быть функции и элементы типа void. Размер_массива в квадратных скобках задает количество элементов массива. В отличие от языка Pascal в С не проверяется выход за пределы массива, поэтому, чтобы избежать ошибок в программе, следите за размерами описанных массивов. Значение размер_массива при объявлении массива может быть опущено в следующих случаях:

– при объявлении массив инициализируется,

– массив объявлен как формальный параметр функции,

– массив объявлен как ссылка на массив, явно определенный в другом файле.

Используя имя массива и индекс, можно адресоваться к элементам массива:

имя_массива [ значение_индекса ]

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

Например: int A[10];

объявляет массив с именем А, содержащий 10 целых чисел. А[0] – значение первого элемента, А[1] – второго, А[9] – последнего.

Типу массив соответствует память, которая требуется для размещения всех его элементов. Элементы массива с первого до последнего запоминаются в последовательных возрастающих адресах памяти. Между элементами массива в памяти разрывы отсутствуют. Элементы массива запоминаются друг за другом поэлементно. Так под размещение элементов одномерного массива int В[5] выделяется по 4 байта под каждый из 5 элементов массива – всего 20 байтов.

Элементы

В[0]

В[1]

В[2]

В[3]

В[4]

Байты

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Таким образом, чтобы получить доступ к i-тому элементу массива В, можно написать В[i]. При этом величина i умножается на размер типа int и представляет собой адрес i-го элемента массива В от его начала, после чего осуществляется выборка элемента массива В по сформированному адресу.

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

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