Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Действие по выделению области динамической памяти

Процедура New выделяет область динамической памяти с учетом типа указателя и присваивает адрес выделенной памяти этому указателю.

 

Процедура New создает динамическую переменную того типа, который является базовым для указателя.

Если указатель ссылается на тип данных, для которого нужно памяти больше, чем доступно для распределения в Heap-области, компилятор генерирует ошибку Heap overflow error (Переполнение кучи).

 

Синтаксис вызова процедуры New:

 

New(идентификатор_указателя);

 

New(a);

New(b);


 

 
 

В результате

 

 

Чтобы получить значение, на которое ссылается указатель (обратиться к содержимому ячейки, на которую указывает указатель), нужно выполнить операцию разыменования указателя.

Эта операция обозначается символом «^», который записывается после имени указателя.

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


 

Действие по занесению информации:

a ^:=1;

b ^:=2;

Результат

 

Действие копирования информации.

a ^:=b ^;

Результат

 


 

Копирование адреса.

a:= b;

Результат

 

 

После использования оператора a:= b; указатель на один из участков памяти теряется, к ней больше нет доступа.

Значения, которое было утеряно является «мусором», и пассивно занимает память.

 

<== предыдущая лекция | следующая лекция ==>
Указатель находится в неопределенном состоянии. В результате | Очистка памяти
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 303; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.