Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_самостійне_опрацюв.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.22 Mб
Скачать

Тема 3.4. Типи даних визначені програмістом.

1. Показники.

2. Динамічні змінні.

1. Показники.

До цього моменту ми працювали тільки|лише| з|із| даними, що мають статичну, незмінну під час виконання програми, структуру. Під час роботи програми могли змінюватися тільки|лише| значення змінних, тоді як кількість змінних завжди залишалася постійною (звідси і назва – статичні структури). Це не завжди зручно.

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

Завдання|задачі|, оброблювальні дані, які за своєю природою є|з'являються| динамічними, зручно вирішувати|рішати| за допомогою динамічних структур.

Зазвичай|звично| змінна зберігає деякі дані. Проте|однак| окрім звичайних|звичних|, існують змінні, які посилаються на інші змінні. Такі змінні називаються покажчиками. Показник – це змінна, значенням якої є|з'являється| адреса іншої змінної або структури даних.

Показник, як і будь-яка інша змінна програми, має бути оголошений в розділі оголошення змінних. У загальному|спільному| вигляді|виді| оголошення покажчика виглядає таким чином:

Ім'я: ^ Тип;

де:

ім'я – ім'я змінної-покажчика;

Тип – тип змінної, на яку указує|вказує| змінна-покажчик;

значок ^ показує, що оголошувана змінна є|з'являється| показником.

Приведемо приклади|зразки| оголошення покажчиків:

p1|: ^integer; р2|: ^real;

У приведеному прикладі|зразку| змінна p1| – це показник на змінну типу|типа| integer|, а p2| – показник на змінну типу|типа| real|.

Тип змінної, на яку посилається показник, називають типом показника. Наприклад, якщо в програмі оголошений показник р: ^integer, то говорять: ^р – показник цілого типу|типа|" або "р – це показник на ціле".

На початку роботи програми змінна-показник "ні на що не указує|вказує|". В цьому випадку говорять, що значення показника рівне NIL|. Зарезервоване слово NIL| відповідає значенню показника, який ні на що не указує|вказує|.

Ідентифікатор NIL| можна використовувати в інструкціях привласнення і в умовах. Наприклад, якщо змінні pi| і р2| оголошені як показники, то інструкція

p1| := NIL|;

встановлює значення змінної, а інструкція

if| р2| = NIL| then| ShowMessage|('Показник р2| не ініціалізував!');

перевіряє, чи ініціалізував покажчик р2|.

Показнику можна привласнити значення – адресу змінної відповідного типу|типа| (у тексті програми адреса змінної – це ім'я змінної, перед яким коштує оператор @). Нижче приведена інструкція, після|потім| виконання якої змінна р міститиме|утримуватиме| адресу змінної n.

р := @n;

Окрім адреси змінної, покажчику можна привласнити значення іншого покажчика за умови, що|при умові , що| вони є|з'являються| покажчиками на змінну одного типу|типа|. Наприклад, якщо змінні pi| і р2| є|з'являються| показниками типу|типа| integer|, то в результаті|унаслідок| виконання інструкції

p2| := p1|;

змінні pi| і р2| указують|вказують| на одну і ту ж змінну.

Показник можна використовувати для доступу до змінної, адресу якої містить|утримує| показник. Наприклад, якщо р указує|вказує| на змінну 1, то в результаті|унаслідок| виконання інструкції

р^| : = 5;

значення змінної i буде рівне п'яти. У приведеному прикладі|зразку| значок ^ показує, що значення п'ять привласнюється змінною, на яку указує|вказує| змінна-покажчик.

 

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