Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


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


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Вказівний тип.

Структури даних, які розглядались досі, називаються статичними. Такі змінні розміщуються в пам’яті при запуску програми і знаходяться там постійно під час її виконання. Розмір статичних даних можна визначити за описами цих даних. Але використання таких змінних не дозволяє ефективно використовувати пам’ять комп’ютера. На відміну від статичних даних , динамічні дані змінюють свої розміри в процесі виконання програми. Дані, які виникають в вже процесі виконання програми або ж їх розмір під час виконання програми змінюється , називаються динамічними.При необхідності можна розміщувати впам’яті нові змінні і вивільняти пам’ять, коли необхідність в них відпаде.

Наприклад, треба в деякомій сукупності чисел визначити цифру , яка ділиться на 11 без остачі і починається з цифри 5.Якщо використовувати статичні структури даних, то на початку програми можна зарезервувати пам’ять під масив цілих чисел. Але серед його елементів може взагалі не бути числа, яке задовільняє необхідним вимогам і такий підхід приведе до нераціонального використання пам’яті. В такому випадку , а також, якщо заздалегідь знають, що даних буде багато , застосовують динамічну організацію пам’яті.

Для роботи з динамічними об’єктами застосовують тип значень – вказівний.Для нього в мові не зарезервовано стандартного слова, але це також простий тип даних. Якщо ім’я статичної змінної задає адресу даного в оперативній пам’яті, то то вказівник на динамічну змінну – лише тип даного , а не розташування його в пам’яті.

Загальний вигляд опису вказівного типу:

 

Type

<ім’я_вказівного типу>=^<ім’я_типу>

 

Значенням вказівного типу є вказівка на динамічну структуру даних, за якою відбувається доступ до цього об’єкта. Після “^” зазначають тип цього динамічного об’єкта, який повинен задаватись лише за допомогою імені типу – стандартного чи попередньо описаного.

 

Приклад:

Type

v=^integer ;

x= ^array [1..10] of real ;

y=1..20;

var

y1: ^y;

 

Значення змінної у1 буде вказівкою на деякий динамічний об’єкт діапазонного типу. Схематично зв’язок вказівника (значення вказівної змінної) і об’єкта , на який він вказує можна показати:

 

у1 Об’єкт типу у




Переглядів: 658

<== попередня сторінка | наступна сторінка ==>
Eof(var f) : Boolean | Створення динамічних об’єктів. Змінні вказівного типу.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.