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


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


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


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


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


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


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


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


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


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



Динамічна пам’ять.

Під час розподілу пам’яті під локальні змінні відводиться спеціальний сегмент оперативної пам’яті (сегмент стека). Сегмент - це ділянка пам'яті розміром 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.


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

  1. Внутрішня пам’ять.
  2. Гідродинамічна суть процесу псевдозрідження
  3. Гумус - це гетерогенна динамічна полідисперсна система високомолекулярних азотистих ароматичних сполук кислотної природи.
  4. Динамічна інтерпретація диференційного рівняння другого порядку. Консервативні системи.
  5. Динамічна модель машинного агрегату
  6. Динамічна пам’ять
  7. Динамічна пам’ять
  8. Динамічна рівновага в моделі Неймана
  9. Мислення, увага, пам’ять. Свідомість і підсвідомість, їх значення.
  10. Організація як відкрита динамічна система
  11. Організм як відкрита термодинамічна система.




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

<== попередня сторінка | наступна сторінка ==>
Створення динамічних об’єктів. Змінні вказівного типу. | Операції над змінними вказівного типу.

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

  

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


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