Поняття одновимірного масиву

 

Одновимірний масив: поняття, форма опису, доступ до елементів

Поняття одновимірного масиву

   Ми вже знаємо, що змінна може зберігати дані різного типу. Але одночасно вона може містити лише один елемент інформації.

      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. Визначення масиву. Одновимірні масиви. Ініціалізація масиву

 

Комментариев нет:

Отправить комментарий