Одновимірний
масив: поняття, форма опису, доступ до елементів
Поняття
одновимірного масиву
Ми вже знаємо, що змінна може зберігати
дані різного типу. Але одночасно вона може містити лише один елемент
інформації.
int x= 56; // змінна x містить значення
цілого числа 56
Якщо написати команду x= -10, то попереднє значення буде витерте з пам’яті, а на
його місце записане число -10.
А якщо нам потрібно зберігати десятки або сотні
однотипних даних? Наприклад, необхідно зберегти щоденні середні температури за
листопад. Заводити 31 змінну не дуже зручно. У таких випадках використовують
масиви.
Масив
– це набір змінних однакового типу з одним іменем.
Властивості масиву
¤ Всі елементи мають однаковий
тип.
¤ Масив містить фіксовану
(незмінну протягом роботи програми) кількість елементів.
¤ Елементи масиву розташовуються
в пам’яті один за одним.
¤ Всі елементи зберігаються під
одним іменем.
Якщо всі елементи мають одне ім’я, то як
їх розрізняти? Кожен елемент масиву має власний індекс (порядковий номер), по
якому й відбувається звернення до елемента.
Одновимірні
та багатовимірні масиви
Масиви можуть бути одновимірними та
багатовимірними.
В одновимірних масивах для доступу до елементу масиву використовується один індекс. У багатовимірних масивах – декілька індексів.
Одновимірні масиви ще називають лінійними.
Загальна
форма опису одновимірного масиву
тип ім’я_масиву[розмір];
У вищенаведеному описі:
¤ тип – це тип
елементів масиву (він ще називається базовим типом);
¤ розмір – кількість
елементів у масиві;
¤ ім’я_масиву – ім’я
змінної, за яким здійснюється доступ до елементів масиву.
Приклад
Опис масиву з іменем
A, що містить 10 цілих чисел.
int A[10];
У результаті в пам’яті комп’ютера
виділяється 10 комірок цілого типу int.
Якщо одна комірка типу int
займає 2 байти, то всього буде виділено 2*10= 20 байт пам’яті.
У програмуванні нумерація комірок
починається з нуля. Всі комірки
об’єднані спільним іменем A.
Зрозуміло, що індекси (номери комірок) – різні. А значення елементів може бути однаковим. Наприклад, у масиві може бути кілька елементів зі значенням 35.
Оскільки нумерація елементів починається з нуля, то в масиві з 10 елементів остання комірка матиме номер 9. Комірки з номером 10 у масиві не буде.
Масиви можуть бути ініціалізовані
при описі.
int temp[31]= {7, 8,
6, 5, 5, 7, 10, 12, 9, 13, 8, 6, 7, 6, 4, 3, 3, 2, 1, 2, 0, 1, 2, 1, -1, -2,
-4, -5, -2, 1, -4}
str Days_of_week[7]=
{ "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday",
"Sunday"}
Зазвичай елементи масиву вводять із
клавіатури або зчитують із файлів.
Доступ
до елементів одновимірного масиву
Доступ до окремого елементу масиву
здійснюється з допомогою індексу (порядкового номеру). Індекс визначає позицію
(місце розташування) елементу в масиві.
Вулицю у сільській місцевості або у
приватному секторі можна розглядати як приклад одновимірного масиву. Щоб
вказати певну будівлю, потрібно задати назву вулиці та номер будинку.
Як вже згадувалося раніше, перший елемент масиву в програмуванні має нульовий індекс.
Щоб звернутись до окремого елементу
масиву за його індексом, потрібно після імені масиву в квадратних дужках
вказати номер цього елементу.
Приклад
Дано масив A
з 10 цілих чисел. Записати число 2018 в перший та останній елементи масиву.
int A[10]; // опис масиву A
A[0] = 2018; // перший елемент масиву
A[9] = 2018; // останній (10-ий) елемент масиву
Особливості
обробки масивів компілятором у середовищі програмування. Межі масиву
У середовищі програмування не ведеться
строгого контролю за доступом до елементів за межами масиву.
Якщо описати масив із 100 елементів, то
можна зчитати або змінити 101-ий, 102-ий і наступні елементи. На цих позиціях
можуть бути комірки пам’яті, які були виділені для інших змінних або навіть для
вашої програми. Це може призвести до знищення програми при відсутності
яких-небудь зауважень з боку компілятора середовища.
Отже, вся відповідальність за дотриманням
меж масивів лежить на програмісті. Автор програми повинен писати такий код,
який гарантує коректну роботу з масивами.
Література
1. Масиви. Частина 1. Визначення масиву. Одновимірні масиви. Ініціалізація
масиву
Комментариев нет:
Отправить комментарий