МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи № 11
з дисципліни ”Алгоритмізація та програмування”
для студентів спеціальності 122 ”Комп’ютерні науки”
Затверджено
на засіданні кафедри інформаційних систем та мереж
Протокол №__ від _____.2018 р.
Львів-2018
Динамічна пам’ять: Методичні вказівки до лабораторної роботи № 11 / Укл.: В.А. Висоцька. – Львів: Видавництво Національного університету ”Львівська політехніка”, 2018. – 29 с.
Укладачі Висоцька В.А., к.т.н., доцент
Відповідальний за випуск Литвин В.В., д.т.н., професор
Рецензенти Верес О.М., к.т.н., доцент
Берко А.Ю., д.т.н., професор
Ришковець Ю.В., к.т.н., старший викладач
Мета роботи: ознайомитись із поняттям динамічної пам’яті на мовi Сі.
1. Теоретичні відомості
1.1. Загальні поняття
Динамічна пам’ять (heap, купа) – це пам’ять, в якій змінні розміщуються динамічно. Основна потреба у динамічному виділенні пам’яті виникає тоді, коли розмір або кількість даних, які необхідно виділити чи використати, наперед невідомі і визначаються у процесі виконання програми.
Засоби динамічного управління пам’яттю дають змогу розширити можливості програмування. Під час свого виконання програма отримує можливість самостійно визначати потрібні розміри пам’яті і за потреби в реальному часі створювати та знищувати динамічні об’єкти.
Основні відмінності динамічного масива від статичного такі:
- пам’ять для динамічного масива виділяється під час виконання програми за допомогою певних функцій;
- кількість елементів динамічного масива може бути задано змінною, але в програмі вона обов’язково визначена до виділення пам’яті для масива.
Динамічні об’єкти не є локальними для певної функції (локальною може бути змінна, що містить адресу такого об’єкта). Вони можуть створюватись в одній функції, опрацьовуватись у другій (якщо перша повідомить їй адресу об’єкта), а знищуватись у третій. Таким чином, динамічний об’єкт доступний з будь-якої функції програми, якій відома його адреса.
Час життя динамічного об’єкта – це час від моменту його створення до знищення, тобто динамічно виділена пам’ять існує поки її не звільнити. Якщо динамічно виділену пам’ять не звільнити, то в операційній системі може виникнути ситуація нестачі вільної пам’яті.
(Для ознайомлення з повним текстом статті необхідно залогінитись)