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

Лекція 3 Масиви. Масиви літер.

Масиви - це група елементів однакового типу (double, float, int і т.п.). З оголошення масиву компілятор повинний одержати інформацію про тип елементів масиву і їхню кількість. Оголошення масиву має два формати:

специфікатор-типу описувач [констант - вираз];

специфікатор-типу описувач [ ];

Описувач - це ідентифікатор масиву .

Специфікатор-типу задає тип елементів масиву. Елементами масиву не можуть бути функції й елементи типу void.

Констант-вираз в квадратних дужках задає кількість елементів масиву. Констант-вираз при оголошенні масиву може бути опущений в наступних випадках:

- при оголошенні масив, які ініціалізуються,

- масив оголошений як формальний параметр функції,

- масив оголошений як посилання на масив, явно визначений в іншому файлі.

У мові Сі визначені тільки одномірні масиви, але оскільки елементом масиву може бути масив, можна визначити і багатомірні масиви. Вони формалізуються списком констант-виражень наступних за ідентифікатором масиву.

Кожний констант-вираз в квадратних дужках визначає число елементів по даному вимірі масиву, так що оголошення двомірного масиву містить два констант-вирази, тривимірного - три і т.д. Відзначимо, що в мові Сі перший елемент масиву має індекс рівний 0.

Приклади:

int a[2][3]; /* представлено у виді матриці

a[0][0] a[0][1] a[0][2]

a[1][0] a[1][1] a[1][2] */

double b[10]; /* вектор з 10 елементів маючих тип double */

int w[3][3] = { { 2, 3, 4 },

{ 3, 4, 8 },

{ 1, 0, 9 } };

В останньому прикладі оголошений масив w[3][3]. Списки, виділені у фігурні дужки, відповідають рядкам масиву, у випадку відсутності дужок ініціалізація буде виконана неправильно.

У мові Сі можна використовувати перетину масиву, як і в інших мовах високого рівня (PL1 і т.п.), однак на використання перетину накладається ряд обмежень. Перетини формуються внаслідок опускання однієї чи декількох пар квадратних дужок. Пари квадратних дужок можна відкидати тільки праворуч ліворуч і строго послідовно. Перетину масивів використовуються при організації обчислювального процесу у функціях мови Сі, які розроблені користувачем.

Приклади:

int s[2][3];

Якщо при звертанні до деякої функції написати s[0], то буде передаватися нульовий рядок масиву s.

int b[2][3][4];

При звертанні до масиву b можна написати, наприклад, b[1][2] і буде передаватися вектор з чотирьох елементів, а звертання b[1] дасть двомірний масив розміром 3 на 4. Не можна написати b[2][4], припускаючи, що передаватися буде вектор, тому що це не відповідає обмеженню накладеному на використання перетинів масиву.

Приклад оголошення символьного масиву.

char str[] = "оголошення символьного масиву";

Варто враховувати, що в символьному масиві знаходиться на один елемент більше, тому що останній з елементів є керуючою послідовністю '\0'.

Очевидно самим загальним типом масиву в C є масив символів.

Лекція 4

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