Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
programmirovanie / ОПиАЯ_№3_4.doc
Скачиваний:
33
Добавлен:
03.03.2016
Размер:
138.75 Кб
Скачать

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

СИНТАКСИС: тип_элемента aname[размер]; /*неинициализированный массив*/

тип_элемента aname[размер]={список инициализаторов}

/*инициализированный массив*/

ПРИМЕР: #define A_SIZE 5

double a[A_SIZE];

char vowels[] = {‘A’, ‘E’, ‘I’, ‘O’, ‘U’};

ОПИСАНИЕ: Объявление неинициализированного массива резервирует память для массива aname, занимающего размер ячеек памяти. В каждой ячейке памяти может храниться один элемент данных типа тип_элемента (double, int или char). К отдельным элементам можно обращаться при помощи индексированных переменных aname[1], …, aname[размер]. Для указания размерности массива используется константа типа int.

В объявлении массива с инициализацией размер, указанный в квадратных скобках, необязателен, так как может быть определён длинной списка инициализации. Список инициализации состоит из выражений-констант типа, указанного в тип_элемента, и отделенных друг от друга запятыми. Элемент 0 инициализируемого массива должен быть первым в списке инициализации, элемент1 –вторым, и т.д.

Индексы массивов.

Индексирование используется для отличия отдельных элементов, а также для обеспечения доступа к отдельным элементам массива. В качестве индекса можно использовать любое выражение типа int. Однако для обращения к элементам массива значение индекса должно лежать между нулём и значением, на единицу меньшим объявленного размера массива.

Важно представлять себе разницу между значением индекса массива и значением элемента массива. Рассмотрим первоначальный массив

x[0] x[1] x[2] x[3] x[4] x[5] x[6] x[7]

Индексированная переменная x[i] ссылается на отдельный элемент этого массива. Если значение I равно 0, значение индекса равно 0, обращаемся к элементу x[0]. В данном случае x[0] равно 16,0. Если i равно 2, значение индекса будет 2, а значение x[i] будет равно 6,0. Если i равно 8, индекс равен 8 и в этом случае мы не в состоянии указать значение x[i], поскольку значение индекса лежит вне допустимого диапазона.

В таблице представлены примеры операторов с использованием массива, приведенного выше. Переменная i - типа int со значением 5.

Оператор

Пояснение

printf(“%d %.lf”, 4, x[4]);

Выводит 4 и 2,5 (значение x[4])

printf(“%d %.lf”, i, x[i]);

Выводит 5 и 12,0 (значение x[5])

printf(“%.lf”, x[i]+1);

Выводит 13,0 (значение x[5] плюс 1)

printf(“%.lf”, x[i]+i);

Выводит 17,0 (значение x[5] плюс 5)

printf(“%.lf”, x[i+1]);

Выводит 14,0 (значение x[6])

printf(“%.lf”, x[i+i]);

Недопустимая попытка вывода x[10]

printf(“%.lf”, x[2*i]);

Недопустимая попытка вывода x[10]

printf(“%.lf”, x[2*i-3]);

Выводит -54,5 (значение x[7])

printf(“%.lf”, x[i++]);

Выводит 12,0 (значение x[5]) затем присваивает значение 6 переменной i

printf(“%.lf”, x[i--]);

Присваивает 5(6-1) переменной I, затем выводит 14,0 (значение x[5])

x[i-1] = x[i]

Присваивает 12,0(значение x[5] x[4])

x[i1] = x[i+1]

Присваивает 14,0(значение x[6] x[5])

x[i]-1 = x[i]

Неправильное выражение присваивания

Соседние файлы в папке programmirovanie