МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
Динамічна пам’ять.Під час розподілу пам’яті під локальні змінні відводиться спеціальний сегмент оперативної пам’яті (сегмент стека). Сегмент - це ділянка пам'яті розміром 64 Кбайт. Для динамічних об’єктів уводиться інша область пам’яті, яка називається купою,або динамічною областю пам’яті. У випадку використння процедури new можливе переповнення динамічної пам’яті. В цьому випадку програма не припинить своє виконання, але значення вказівної змінної , яка є параметром процедури new не зміниться, що може привести до неправильних результатів. Тому в Турбо Паскалі передбачена стандартна функція MaxAvailбез параметрів, яка повертає в програму максимальний розмір в байтах неперервного відрізка вільної пам’ яті , що використовується для розміщення динамічних змінних.
Приклад: : : var pl : ^ longint ; begin if MaxAvail>=4 then new(pl) else writeln(‘динамічна пам’ять вичерпана’); : :
Цей фрагмент означає, що для розміщення змінної типу longint потрібно 4 байта. Якщо розмір динамічної змінної >=4 байта, то для змінної виділяється пам’ять. В загальному випадку для визначення розміру динамічної пам’яті використовують стандартну функцію SizeOf. Її результат – кількість байтів, необхідна для зберігання даної змінної чи чи змінних даног типу.цю функцію зручно використовувати для складних типів. Крім цього в Турбо Паскалі є функція MemAvail, яка повертає сумарний розмір всіх вільних областей динамічної пам’яті. В загальному випадку ці функції дають різні результати. Довільний характер відведення і вивільнення динамічної пам’яті приводить до того, що куча може являти собою випадкову послідовність вільних і зайнятих областей різних розмірів . Функція MaxAvail визначає найбільшу вільну пам’ять, функція MemAvail - загальний об’єм вільних областей .
Знищення динамічних об’єктів.
Для вивільнення пам’яті , відведеної за допомогою процедури чи функції new, використовується обернена до неї стандартна процедура dispose.Параметром цієї процедури повинен, бути вказівник на динамічну змінну, причому ця змінна повинна бути розміщена в кучі за допомогою процедури new , і тип розміщенної змінної повинен співпадати з базовим типом параметра процедури dispose.
Тема. Операції над змінними вказівного типу. Тип. Лекція 18. .
ПЛАН. Операції над змінними вказівного типу. Поняття про стек та чергу. Приклади.
ЛІТЕРАТУРА
С.А.Немнюгин.Turbo Pascal.-СПб:Издательство”Питер”,2000.-496с Семотюк В.Програмування в середовищі Турбо Паскаль.Львів: БаК,2000.-248с. Зуев Е.А. Система программирования Турбо Паскаль.М.,1992. Читайте також:
|
||||||||
|