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) освобождает область памяти, на которую указывает указатель А, после чего эта область памяти становится доступной для распределения под другие динамические переменные.


 

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

27610. Назначение более мягкого наказания, чем предусмотрено за данное преступление. Назначение наказания при вердикте присяжных о снисхождении 30.5 KB
  Назначение более мягкого наказания чем предусмотрено за данное преступление. Назначение наказания при вердикте присяжных о снисхождении. 64 УК РФ назначение более мягкого наказания чем предусмотрено соответствующей статьей Особенной части УК РФ возможно при наличии исключительных обстоятельств существенно уменьшающих степень общественной опасности совершенного лицом преступления либо при активном содействии участника группового преступления раскрытию этого преступления. Правила назначения более мягкого наказания чем предусмотрено...
27612. Назначение наказания за неоконченное преступление, за преступление, совершенное в соучастии и при рецидиве преступлений 30 KB
  Назначение наказания за неоконченное преступление ст. 66 УК Назначение наказания различается в зависимости от стадии на которой было прервано общественно опасное деяние. За приготовление к преступлению срок или размер наказания не может превышать половины максимального срока или размера наиболее строгого вида наказания предусмотренного соответствующей статьей Особенной части Уголовного кодекса за неоконченное преступление.
27614. Назначение наказания по совокупности преступлений и совокупности приговоров. Порядок определения сроков наказания при сложении наказаний 37.5 KB
  Порядок определения сроков наказания при сложении наказаний. Назначение наказания по совокупности преступлений При совокупности преступлений наказание назначается отдельно за каждое совершенное преступление. Два этапа назначения наказания: 1назначение наказания за каждое преступление отдельно; 2 определение окончательного наказания по одному из принципов: поглощение менее строгого более строгим; полного сложения; частичного сложения.
27616. Нарушение неприкосновенности частной жизни (ст. 137 УК). Нарушение неприкосновенности жилища (ст. 139 УК) 29.5 KB
  Нарушение неприкосновенности жилища ст. Нарушение неприкосновенности частной жизни 1. Нарушение этого права влечет ответственность в частности уголовную. Нарушение неприкосновенности жилища 1.
27618. Преступления против безопасности движения и эксплуатации транспортных средств 96.5 KB
  Объективная сторона преступления состоит в одном из двух деяний: нарушение правил дорожного движения и нарушении правил эксплуатации транспортных средств. Квалифицирующий признак: деяние повлекшее по неосторожности смерть человека в соответствии с Правилами учета ДТП к числу погибших относятся и те кто скончался от полученных травм в течение 7 суток со дня ДТП. Нарушение правил обеспечивающих безопасную работу транспорта ст. Общественная опасность нарушения правил обеспечивающих безопасную работу транспорта...