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


 

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

63697. ЛОГІКА ПРАВА 335.5 KB
  Логiка в структурi права i право як логiчна система. Форомальна логiка юридична логiка дiалектична логiка права. Логiка норми права.
63700. Организация инженерной защиты населения от поражающих факторов 966.5 KB
  В зависимости от защитных свойств их подразделяют на убежища и противорадиационные укрытия; для защиты людей применяют и простейшие укрытия. Укрываемые должны содержать в готовности средства индивидуальной защиты: противогазы респираторы...
63701. Соціально-економічна природа витрат виробництва 161.05 KB
  Діяльність більшості суб’єктів господарювання пов’язана з виробництвом продукції, виконанням робіт чи наданням послуг, їх реалізацією задля забезпечення конкурентоспроможності, фінансової рівноваги й економічного розвитку в нестабільному ринковому середовищі.
63702. Історичні етапи розвитку науки 106.8 KB
  У зв'язку з такою переорієнтацією науки лідерство в ній починають займати фізико хімічні дисципліни і відповідні прикладні дослідження. Людина суб'єкт пізнання прагне абстрагуватися від об'єкта щоб забезпечити об'єктивність результатів дослідження.
63703. Еconomic equilibrium 154 KB
  Partial equilibrium is an equilibrium in the one market of goods, services, factors of production (analyzes only a part of the market, ceteris paribus). Example: supply and demand model is a partial equilibrium model...