Лекція 7. Масиви та покажчики
| Сайт: | Навчально-інформаційний портал НУБіП України |
| Курс: | Основи програмування |
| Книга: | Лекція 7. Масиви та покажчики |
| Надруковано: | Гість-користувач |
| Дата: | неділя, 15 лютого 2026, 19:46 |
1. Визначення масиву
Масив - це послідовність однорідних даних, яка має фіксовану довжину. Цей тип належить до похідних, тому що складається із простих.
Масиви, як і інші змінні, повинні бути описаними. Спеціальних ключових слів нема, тобто відзначається ім'я в прямокутних дужках кількість елементів:
int а[10] float x[100].
Такий опис може включатися у звичайні змінні char c, d, f[20], де c, d - звичайні символьні змінні. Кожний елемент масиву визначається своїм номером а[2], x[50].
На відміну, від інших мов, нумерація елементів починається з нуля й закінчується номером N-1, де N - загальна кількість елементів. Тому а[2] - це третій елемент, а x[50] -п'ятдесят перший. Це зроблене тому, що повне ім'я масиву є базовою адресою, яка рівняється адресі першого елемента. Тобто a==&a[0] Адреса другого елемента визначається як базова адреса плюс один &a[1]==a+1 Адреса N- го елемента рівняється базової плюс N-1. Ясно, що зсув по адресах фізичних змінних залежить від типу даних, тобто індекс необхідно помножити на відповідний коефіцієнт типу (для char це буде 1, для int 2, float 4 і т.д.). Тому, така система нумерації спрощує адресацію елементів масиву.
У деяких випадках можна не відзначати кількість елементів масиву, наприклад int arr[]. Відповідний розмір визначає сам компілятор. Як і інші змінні масиви зв'язуються з відповідним класом пам'яті. Як і інші змінні масиви пов’язуються з відповідним класом пам'яті. Тому якщо масив відноситься до автоматичного, то його необхідно описувати в блоці. Коли масив є зовнішній і був описаний раніше, то в блоці його можна не описувати.
2. Багатовимірні масиви
Багатовимірні масиви
Масив може складатись не лише із даних простих типів, але і з похідних. Зокрема можна розглядати масив масивів. Приходимо до багатомірних масивів 2х, 3х, і т.д. Двомірний масив – це одномірний масив, елементами якого є одномірні масиви. Тому при описі двомірного масиву розмір по кожному виміру зазначається в окремих дужках int a[10][10].
Окремий елемент a[2][3]. Перший індекс – рядка, другий стовпчика. Тому це буде елемент з третього рядка та четвертого стовпчика.
float matr[m][n]

Порядок розташування багатомірних масивів у пам'яті такий, що першим змінюється самий правий індекс. Отже, для 2- мірного масиву звичайне розташування - рядками.
A[2][2] a00 a01 a10 a11
Вище відзначалося, що іноді в деяких випадках можна не наводити розміри одномірних масивів. Але для багатомірних це не так. І насправді , якщо у функції записати int array[][], те буде незрозумілим, як такий масив ділити на рядки. Тому обов'язково потрібно відзначати кількість стовпчиків int array[][4], тобто в кожному рядку по 4 елемента. Початкові значення багатомірних масивів задаються в такий спосіб:
int z[3][2]={{1, 2},{4, 5},{7, 8}};
Обробка елементів багатомірних масивів часто здійснюється за допомогою вкладених циклів. При цьому для завчасного припинення циклу по певних умовах можна використовувати оператор break. Для того, щоб обійти деякі оператори не виходячи із циклу, застосовують оператор continue.
Але оператор break здійснює вихід тільки з одного внутрішнього циклу. Тому при значній кількості вкладених циклів для повного припинення циклів краще використовувати оператор безумовного переходу.
З погляду структурного програмування слід уникати цього оператора. Але саме в такому випадку він є найбільше доцільніше.
3. Строкові масиви
Строкові масиви
Рядок – це одномірний масив символів, який закінчується нульовим символом. Як зазначалось, рядок береться у дужки “Скоро весна!”.
Її можна присвоювати певній змінній, якщо остання описана як символьний масив char string[]=”Скоро весна!”.
Такий масив можна вводити та виводити з використанням символу перетворення s. При цьому вивід триває до появи нуля.
Ніяких дій над такими масивами не передбачено.
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу