Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Информатика и информационные технологии. Ссылочный тип данных. Динамическая память. Динамические переменные. Работа с динамической памятью (самое важное)

Конспекты лекций, шпаргалки

Справочник / Конспекты лекций, шпаргалки

Комментарии к статье Комментарии к статье

Оглавление (развернуть)

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 процент по сравнению с контрольными участками. Такой результат свидетельствует об улучшении работы тра ...>>

Случайная новость из Архива

Дышащие биоаккумуляторы 24.03.2013

Ученые из Института физической химии Польской академии наук разработали новый тип источника электроэнергии. Элемент питания с относительно высоким напряжением и длительным сроком службы представляет собой "дышащий" катод на основе ферментов, углеродных нанотрубок и силикатов.

Новый аккумулятор может найти применение прежде всего для питания различных имплантатов, например кардиостимуляторов или контактных линз с автоматическим изменением фокусного расстояния или проектором, транслирующим картинку прямо на сетчатку глаза. Обычные аккумуляторы для этих целей не годятся, поскольку имеют в своем составе сильные кислоты и другие активные вещества, опасные для здоровья.

Польские ученые решили разработать биоаккумулятор, который не нужно заряжать: достаточно поместить электроды в тело, и они начнут вырабатывать электричество. Биоаккумуляторы известны давно: наверняка все помнят школьный эксперимент с картофелем, который вырабатывал электричество при подключении электродов. К сожалению, большинство экспериментальных биоаккумуляторов выдают низкое напряжение в 0,6-0,7 вольт. Однако польским исследователям удалось создать биоаккумулятор, который в течение многих часов выдает гораздо большее напряжение: 1,75 вольт. Этого уже достаточно для питания многих имплантатов и перспективных нейроинтерфейсов.

Основным компонентом нового биоаккумулятора является катод из ферментов, которые окружены углеродными нанотрубками и заключены в пористую структуру на основе силикатной матрицы. Для того, чтобы аккумулятор заработал, достаточно залить в устройство электролит, например раствор с ионами водорода. Поры в силикатной матрице позволяют кислороду из воздуха и ионам водорода поступать в активный ферментный сердечник катода, где происходит восстановление кислорода. При этом углеродные нанотрубки облегчают перенос электронов.

В ходе экспериментов новый источник энергии выдавал напряжение 1,6 вольт в течение как минимум 1,5 недель. Со временем эффективность устройства уменьшается, вероятно из-за постепенной деградации фермента на биокатоде. Разработчики полагают, что срок службы нового биоаккумулятора можно продлить даже при существующих технологиях.

Другие интересные новости:

▪ Сетевой адаптер Addonics 10GbE

▪ Первый смартфон под Android 4.0 Ice Cream Sandwich

▪ Микросхема ST25DV02K-W для управления светом и моторами

▪ Спиновая память STT-MRAM

▪ Кроманьонец был умнее нас

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Радиолюбительские расчеты. Подборка статей

▪ статья Сэмюэл Ричардсон. Знаменитые афоризмы

▪ статья Что такое серебро? Подробный ответ

▪ статья Анютины глазки. Легенды, выращивание, способы применения

▪ статья Электропитание. Блоки питания. Справочник

▪ статья Преобразователь напряжения для светодиодной лампы. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026