Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Вказівний тип. Створення динамічних об’єктів. Операції над змінними вказівного типу та покажчиками. Знищення динамічних об’єктів.




Змінні, які описуються директивою var і їх значення зберіг. в ділянках ОЗУ, є статичними; а ті, які створ. і знищ. в процесі виконання програми – динамічними.

Для роботи з динамічними змінними використовують тип даних – вказівник(покажчик) Покадчик – адреса на дані певного типу. Під довільний покажчик виділяється 4 байти статичної пам’яті. Існують типізовані та нетипизовані покажчики. Типизований вказує на дані строго визначеного типу і описується за допомогою «^» у розділі type так:

type <назва типу> = ^ <базовий тип>; Нетипизований покажчик не зв’язується з певним типом даних і огол. так: var <покажчик>:pointer;

Розрізняють операції над вказівником на динамічну змінну та операції над самою динамічною змінною. Над вказівниками визначені 3 операції: 1)присвоєння <вказівник 1>:=<вказівник 2>; 2)порівняння - вказівник можна порівнювати лише на рівність та нерівність. Результатом порівняння є false або true. 3)розіменування - щоб отрим. значення, на яке посилається покажчик, потрібно викон. розіменування покажчика. Ця операція позн. символом «^», який запис. після ідентифікатора покажчика. Над динам. змінними можна викон. всі ті операції, які визн. для базового типу. При оголош. покажчика його поч. значенням є nil. Для типізованого покажчика можна виділити динам. пам’ять через процедуру new(тип покажч.) та вивільнити динам. пам’ять через процедуру dispose(тип покажч.). Для нетипизованих покажчиків: виділення – getMem, вивільнення – freeMem.

Організація динамічних структур даних. Динамічні рядки символів. Дії з динамічними рядками. Списки. Алгоритм введення, вилучення та пошуку елементів.

Динамічні структури – структури даних, розмір яких (об’єм пам’яті, що вони займають) може змінюватись у процесі виконання програми. Для організації динамічних структур використовуються динамічні змінні, які створюються та знищуються в процесі виконання програми. Характеризуються: ці змінні явно не описуються, до них неможливо звернутись за допомогою ідентифікатора; пам’ять для цих змінних не виділяється під час формування коду програми, вона виділяється у спеціальній області оперативної пам’яті; доступ до тих змінних виконується за допомогою покажчиків (чи посилань), які стають активними після визначення динамічного об’єкту та містять адресу. Список – це динамічна структура даних, що містить скінчене число аргументів, які між собою пов'язані через вказівники (покажчики). Розрізняють такі види списків: однозв'язний лінійний список; двозв'язний лінійний список; однозв'язний циклічний список; двозв'язний циклічний список, стеки, черги.

Алгоритм створення нового елемента в списку: 1)виділити динамічну пам'ять: new(elem); 2)заповнення поля даних: readln(elem^.fio); в поле вказівника на наступний елемент вказати nil, якщо це останній, або вказівник на наступний елемент: elem^.next:=nil; new(elem^.next).

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...