Головна » Інформатика |
Вказівники. Використання динамічної пам’яті. Практична робота № 21 «Побудова алгоритмів з використанням покажчиків» 10 –В клас 18.05.2013 Види пам‘яті Звичайна(статична) динамічна Може розмістити обмежену кількість даних, змінних (VAR) Вивільняється лише після виконання програми Використовується тоді, коли невідомо скільки змінних буде потрібно або заздалегідь знають, що даних буде багато Var a,b,c:integer; d,k;real; Si:char; Var a,b,c:^ integer; Або Type VkazNaCili=^integer; var a,b,c:VkazNaCili; Поняття про динамічну пам’ять Принцип динамічної організації пам’яті полягає в тому, що змінні займають пам'ять за необхідністю, опрацьовуються і в потрібний момент вивільняють пам'ять. Такі змінні називаються динамічними. Для роботи з динамічними змінними використовують тип даних – вказівник. УВАГА!!! Var a,b,c:integer; d,k;real; Si:char; Var a,b,c:^ integer; Або Type VkazNaCili=^integer; var a,b,c:VkazNaCili; Ім’я статичної змінної задає адресу даного в оперативній пам’яті А вказівник на динамічну змінну - лише тип даного, а не його розташування в пам’яті. Основні поняття Тип даних вказівник описують за допомогою символу ^ у розділі type type назва типу = ^базовий тип; Вказівники на динамічні змінні оголошують у розділі var: var список вказівників на змінні : назва типу; Приклад1. Опис і оголошення вказівників на динамічні змінні: type vkazivka=^integer; vkazivkamasiv=^array[1..100] of real; vkazivkazapis=^Zapis; var c1,c2: vkazivka; mas1,mas2: vkazivkamasiv; zap1,zap2: vkazivkazapis; Вказівник попереджає про можливість появи даних. Пам'ять для даних, буде надана на етапі виконання програми за допомогою процедури new: new(c1) - new( вказівник на змінну) с1^ Розрізняють операції над вказівником на динамічну змінну та операції над самою динамічною змінною. З динамічною змінною можна виконувати операції, визначені для даних відповідного базового типу. Над вказівниками визначені дві операції пере адресації 1) вказівник 1:=вказівник 2; 2) вказівник:=nil; nil- вільний А також використовуються процедури, зокрема new та dispose Після опрацювання динамічної змінної пам'ять можна вивільнити за допомогою процедури: dispose(вказівник на динамічну змінну) Завдання1. Операції над вказівником на динамічну змінну та операції над самою динамічною змінною. Var c1,c2:^integer; С1 С2 C1^ C2^ New(c1) New(c2) C1 C2
Схожі навчальні матеріали: |
Всього коментарів: 0 | |