![]() |
КОНСПЕКТЫ ЛЕКЦИЙ, ШПАРГАЛКИ
Информатика и информационные технологии. Ссылочный тип данных. Динамическая память. Динамические переменные. Работа с динамической памятью (самое важное) Справочник / Конспекты лекций, шпаргалки Оглавление (развернуть) 16. Ссылочный тип данных. Динамическая память. Динамические переменные. Работа с динамической памятью Статической переменной (статически размещенной) называется описанная явным образом в программе переменная, обращение к ней осуществляется по имени. Место в памяти для размещения статических переменных определяется при компиляции программы. В отличие от таких статических переменных в программах, написанных на языке Pascal, могут быть созданы динамические переменные. Основное свойство динамических переменных заключается в том, что они создаются, и память для них выделяется во время выполнения программы. Размещаются динамические переменные в динамической области памяти (heap-области). Динамическая переменная не указывается явно в описаниях переменных, и к ней нельзя обратиться по имени. Доступ к таким переменным осуществляется с помощью указателей и ссылок. Cсылочный тип (указатель) определяет множество значений, которые указывают на динамические переменные определенного типа, называемого базовым типом. Переменная ссылочного типа содержит адрес динамической переменной в памяти. Если базовый тип является еще не описанным идентификатором, то он должен быть описан в той же самой части описания типов, что и тип-указатель. Зарезервированное слово nil обозначает константу со значением указателя, которая ни на что не указывает. Приведем пример описания динамических переменных. var p1, p2: ^real; p3, p4: ^integer; ... Процедуры и функции работы с динамической памятью 1. Процедура New{var p: Pointer). Выделяет место в динамической области памяти для размещения динамической переменной p", и ее адрес присваивает указателю p. 2. Процедура Dispose(var p: Pointer). Освобождает участок памяти, выделенный для размещения динамической переменной процедурой New, и значение указателя p становится неопределенным. 3. Процедура GetMem(var p: Pointer; size: Word). Выделяет участок памяти в heap-области, присваивает адрес его начала указателю p, размер участка в байтах задается параметром size. 4. Процедура FreeMem(varp: Pointer; size: Word). Освобождает участок памяти, адрес начала которого определен указателем p, а размер - параметром size. Значение указателя p становится неопределенным. 5. Процедура Mark{var p: Pointer) записывает в указатель p адрес начала участка свободной динамической памяти на момент ее вызова. 6. Процедура Release(var p: Pointer) освобождает участок динамической памяти, начиная с адреса, записанного в указатель p процедурой Mark, т. е. очищает ту динамическую память, которая была занята после вызова процедуры Mark. 7. Функция MaxAvail: Longint возвращает длину в байтах самого длинного свободного участка динамической памяти. 8. Функция MemAvail: Longint возвращает полный объем свободной динамической памяти в байтах. 9. Вспомогательная функция SizeOf(X):Word возвращает объем в байтах, занимаемый X, причем X может быть либо именем переменной любого типа, либо именем типа. Автор: Цветкова А.В. << Назад: Модули. Виды модулей >> Вперед: Абстрактные структуры данных
▪ Конституционное (государственное) право Российской Федерации. Шпаргалка ▪ Основы безопасности жизнедеятельности. Шпаргалка ▪ Экономика недвижимости. Шпаргалка
Питомцы как стимулятор разума
06.10.2025 Мини-ПК ExpertCenter PN54-S1
06.10.2025 Глазные капли, возвращающие молодость зрению
05.10.2025
▪ Lego - идеальным теплоизолятор ▪ Младенцы плачут на родном языке ▪ Выращен полностью здоровый французскай бульдог
▪ раздел сайта Дом, приусадебное хозяйство, хобби. Подборка статей ▪ статья Барство дикое. Крылатое выражение ▪ статья Какой город был самым крупным в 1500 году? Подробный ответ ▪ статья Развязывающийся простой узел. Советы туристу ▪ статья Эмулятор ПЗУ. Энциклопедия радиоэлектроники и электротехники ▪ статья Стойки для аппаратуры домашнего кинотеатра. Энциклопедия радиоэлектроники и электротехники
Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |