Типи даних, масиви, що перераховуються типи даних, визначення типів, масиви - програмування сі

визначення типів

typedef char FIO [40] / * FIO - масив з сорока символів * /

FIO person; / * Змінна person - масив з сорока символів * /

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

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

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

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

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

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

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

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

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

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

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

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

Приклади ініціалізації масивів:

Ініціалізується двомірний масив b цілих величин, елементів масиву привласнюються значення зі списку.

Ця ж ініціалізація може бути виконана таким чином:

Якщо при ініціалізації вказано менше значень для рядків, то що залишилися елементи инициализируются 0, тобто при описі

елементи першого рядка отримають значення 1 і 2, а другий 3 і 0.

При ініціалізації масиву можна опустити одну або кілька размерностей