36299

Работа с динамическими переменными

Доклад

Информатика, кибернетика и программирование

Использование идентификатора указателя в программе означает обращение к адресу ячейки памяти на которую он указывает. Выделение и освобождение памяти под динамические переменные выполняется стандартными процедурами New Dispose во время работы программы. Р В неопределенном состоянии указатель бывает в начале работы программы до первого присваивания ему или конкретного адреса или пустого адреса nil а также после освобождения области памяти на которую он указывает. b:=nil; Процедура New: выделяет область памяти соответственно тому...

Русский

2013-09-21

394 KB

1 чел.

Работа с динамическими переменными

          Создание и уничтожение динамических переменных

При объявлении данных динамической структуры в разделе описаний  указывается не сама переменная какого-либо типа, а указатель (ссылка) на нее. В результате указатель будет обычной переменной, а переменная на которую он указывает — динамической.

Использование идентификатора указателя в программе означает обращение к адресу ячейки памяти, на которую он указывает. Чтобы обратиться к содержимому ячейки, на которую указывает указатель, требуется после его идентификатора поставить символ ^. Эта операция называется операцией разыменования.

Выделение и освобождение памяти под динамические переменные выполняется стандартными процедурами New, Dispose во время работы программы.

Указательная переменная Р может быть в трех состояниях.

1. Содержать адрес какой-либо переменной, память под которую уже выделена.

2. Содержать специальный пустой адрес nil.

3. Находиться в неопределенном состоянии. Р

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

Различие между состоянием nil и неопределенным состоянием:

    Р1=Р2

       Т.е. если 2 указателя приравнены nil, то они равны, а если они неопределены, то нет.

 Р1<>Р2

14.2. ПРОСТЕЙШИЕ ДЕЙСТВИЯ С УКАЗАТЕЛЯМИ

5а) Dispose (a); 

а := b; 

6.  b:=nil;

Процедура New(A):

  1.  выделяет область памяти соответственно тому типу, который описан для указателя А и
  2.  записывает адрес выделенной памяти в указатель.

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


 

А также другие работы, которые могут Вас заинтересовать

16838. Массивы и многоуровневая косвенная адресация 564 KB
  Лекция 10 5. Массивы и многоуровневая косвенная адресация Многоуровневая косвенная адресация и одномерные арифметические массивы Многоуровневая адресация имеет место при использовании указателей на указатели на массивы. Рассмотрим это на примерах формирования одн
16839. Связанные структуры 682 KB
  Лекция 11 8. Связанные структуры Основные понятия Записи содержащие указатели позволяют формировать в ОП линейные и нелинейные связанные структуры. К линейным связанным структурам относят например стеки очереди и списки. К нелинейным деревья и сети. Эти структур
16840. Объектно-ориентированное программирование. Методология объектно-ориентированного программирования 362 KB
  Объектно-ориентированное программирование. Основные понятия Методология объектно-ориентированного программирования Фундаментальными понятиями в программировании являются: технология программирования методология метод. Технология программирования...
16841. Подготовка и решение задач на компьютере Этапы полготовки и решения задач на компьютере 428.5 KB
  Лекция 1. Подготовка и решение задач на компьютере Этапы полготовки и решения задач на компьютере Подготовка и решение задач на компьютере имеет следующие этапы: постановка задачи и разработка технического задания; разработка: а информационной мо
16842. ОБ ОДНОМ «МУРАВЬИНОМ» АЛГОРИТМЕ 281 KB
  ОБ ОДНОМ МУРАВЬИНОМ АЛГОРИТМЕ А.А. Кажаров В.М.Курейчик В этой работе рассматривается решение классической NPтрудной задачи о коммивояжере на основе муравьиных алгоритмов. Данная задача без какихлибо изменений в ее интерпретации решается для проектирования СБИС. В...
16843. Проблемы перевода Problems of Translation 142 KB
  Проблемы перевода Problems of Translation В.ГГак Типология преобразований в актантной структуре высказывания при переводе При переводе нередко приходится прибегать к преобразованиям в актантной структуре высказывания особенно когда мы име
16844. ПАТОФИЗИОЛОГИЯ МОЗГОВОГО КРОВООБРАЩЕНИЯ 22.04 KB
  П. РАВУССИН Д. БРАККО. ПАТОФИЗИОЛОГИЯ МОЗГОВОГО КРОВООБРАЩЕНИЯ. Отделение анестезиологии университетской клиники г. Лозанна Швейцария Большое количество церебральных процессов может вести к необратимому повреждению. Эти процессы могут быть классифицированы как трав...
16845. ВНУТРИЧЕРЕПНОЕ ДАВЛЕНИЕ И ВНУТРИЧЕРЕПНАЯ ГИПЕРТЕНЗИЯ 35.86 KB
  М.В. БАШКИРОВ А.Р. ШАХНОВИЧ А.Ю. ЛУБНИН. ВНУТРИЧЕРЕПНОЕ ДАВЛЕНИЕ И ВНУТРИЧЕРЕПНАЯ ГИПЕРТЕНЗИЯ. НИИ нейрохирургии им. Н.Н. Бурденко РАМН Москва ВВЕДЕНИЕ Первые попытки дать научное объяснение феномену внутричерепной гипертензии ВЧГ предпринимались еще 200 лет назад. Но...
16846. Основные принципы интенсивной терапии тяжелой черепно-мозговой травмы 26.8 KB
  Потапов А.А. Амчеславский В.Г. Гайтур Э.И. Парфенов А.Л. Островский А.Ю. Филимонов Б.А. Основные принципы интенсивной терапии тяжелой черепномозговой травмы. НИИ нейрохирургии им.Н.Н.Бурденко РАМН Москва Лечебные мероприятия при поступлении пострадавшего в стационар....