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 может быть либо именем переменной любого типа, либо именем типа.
Автор: Цветкова А.В.
<< Назад: Модули. Виды модулей
>> Вперед: Абстрактные структуры данных
Рекомендуем интересные статьи раздела Конспекты лекций, шпаргалки:
▪ Аграрное право. Шпаргалка
▪ Социология. Конспект лекций
▪ Эндокринология. Шпаргалка
Смотрите другие статьи раздела Конспекты лекций, шпаргалки.
Читайте и пишите полезные комментарии к этой статье.
<< Назад
Последние новости науки и техники, новинки электроники:
Тающие айсберги создают новые оазисы жизни на дне океана
30.06.2026
Глобальное потепление активно меняет облик нашей планеты, и одним из наиболее заметных его проявлений становится ускоренное таяние ледников в полярных регионах. Этот процесс не только приводит к подъему уровня Мирового океана, но и вызывает цепную реакцию в морских экосистемах, порой создавая неожиданные и парадоксальные последствия. Массовое высвобождение айсбергов из Гренландии - яркий пример того, как климатические изменения перестраивают жизнь в самых глубоких и удаленных уголках океана.
Из-за повышения температуры количество айсбергов, откалывающихся от гренландских ледников, стремительно растет. Ученые проанализировали данные за последние 40 лет и установили, что с 2000 года поток ледяных глыб через пролив Фрама увеличился в четыре раза. Об этом сообщает Futurism со ссылкой на исследование специалистов из Технического университета Дании.
Такое беспрецедентное нашествие айсбергов представляет серьезную опасность для международного судоходства. Одновременно оно радикально тра ...>>
Робот-тьютор Optio, помошник школьника
30.06.2026
Икусственный интеллект и робототехника все активнее помогают учителям и ученикам, делая обучение более персонализированным и увлекательным. Гуманоидные роботы, способные взаимодействовать с людьми естественным образом, открывают новые возможности для школ, особенно в условиях нехватки педагогических кадров и растущего интереса к технологиям. Одна из таких инновационных инициатив стартовала в американском штате Нью-Йорк.
Компания Realbotix запустила своего помощника учителя на базе искусственного интеллекта под названием Optio в Центральном школьном округе Саламанки. Робот выступает в роли тьютора, предлагая персонализированное репетиторство, многоязычную помощь с домашними заданиями и круглосуточную академическую поддержку. По данным Interesting Engineering, проект направлен на повышение вовлеченности учащихся и внедрение передовых технологий в учебный процесс.
В рамках пилотной программы школы округа планируют интегрировать человекоподобных роботов в классы. Изначально Optio буд ...>>
Биопрепараты повышают питательную ценность органической гречихи
29.06.2026
В органическом земледелии особое внимание уделяется не только урожайности, но и качественному составу продукции. Потребители все чаще выбирают продукты с высоким содержанием полезных веществ и без следов химических веществ. Исследования показывают, что применение биологических препаратов может существенно улучшить минеральный состав зерновых культур, делая их более ценными с точки зрения питания.
В результате полевых экспериментов, проведенных в 2023-2025 годах, ученые установили, что использование биопрепаратов способствует активному накоплению макроэлементов, в частности фосфора и калия, в зерне органической гречихи. Об этом сообщила Леся Крупак из Белоцерковского национального аграрного университета в своей работе "Экологичность и производительность".
Наиболее заметный эффект наблюдался при применении гумата калия. В этом случае содержание калия в зерне увеличивалось на 19-21 процент по сравнению с контрольными участками. Такой результат свидетельствует об улучшении работы тра ...>>
Случайная новость из Архива Органические фотоэлементы с рекордной производительностью
03.12.2018
Материаловеды в Университете Эрлангена - Нюрнберга поставили новый рекорд КПД органических фотоэлементов, в которых не используются фуллерены. Проведя несколько сложных оптимизаций, они достигли коэффициента преобразования энергии 12,25 процентов на площади в один квадратный сантиметр. Достижение такой площади было необходимо для начала производства рабочих прототипов.
В последние годы в области органических фотоэлектрических систем (ОФС) был достигнут значительный прогресс. В большинстве случаев, органические солнечные фотоэлементы состоят из двух слоев полупроводников - один из них служит донором электронов, а другой - акцептором, или проводником электронов. В противоположность кремниевым элементам, которые получают из расплава или осаждением в вакууме, слои полимера в ОФС получаются прямым осаждением из раствора на несущую пленку. С одной стороны, это означает сравнительно низкие производственные затраты, а с другой стороны эти гибкие модули проще применять, чем кремниевые, в стесненных городских условиях. Длительное время фуллерены - углеродные наночастицы - считались идеальными акцепторами, однако собственные потери основанных на фуллеренах композитов значительно снижают их эффективность. Таким образом, полученный в Университете Эрлангена - Нюрнберга результат приводит к смене парадигмы в этой области.
Значительные рост эффективности и надежности означает, что печатаемые гибридные ОФС становятся пригодными для коммерческого использования. Однако, для создания прототипов, пригодных для практического применения, технология должна быть перенесена с лабораторных квадратных миллиметров на стандартную площадку в один квадратный сантиметр.
Ученые сумели значительно снизить потери, подстраивая параметры поглощения света, уровни энергии и микроструктуру органических полупроводников. Главной целью этой оптимизации была совместимость донора и акцептора и баланс между плотностью тока и напряжением в цепи, что важно для мощности вырабатываемой энергии.
|
Другие интересные новости:
▪ Улучшение теплоизоляции окон
▪ Перья древнего пингвина
▪ Защищенный смартфон Ulefone Armor 25T Pro
▪ Портативная камера, которая видит поляризованный свет
▪ Спортсменам вредят любые удары по голове
Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки:
▪ раздел сайта Регуляторы тембра, громкости. Подборка статей
▪ статья Этика. Конспект лекций
▪ статья Что такое ООО? Подробный ответ
▪ статья Санитарка. Типовая инструкция по охране труда
▪ статья Детектор металла. Энциклопедия радиоэлектроники и электротехники
▪ статья Нормы приемо-сдаточных испытаний. Сборные и соединительные шины. Энциклопедия радиоэлектроники и электротехники
Оставьте свой комментарий к этой статье:
Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua
2000-2026