Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Учебник по Delphi 5 /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Типы данных - Программирование от RIN.RU
Типы данных



Указательные типы


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


pointer // Указатель без типа.
^typel // Указатель с типом.


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


Только исходный тип указателей может совпадать с собственно типом.


Таблица 1.8. Средства работы с указателями
СредствоОписание
New Распределяет новый участок динамической памяти и записывает его адрес в переменную указательного типа
Оператор @ Направляет переменную-указатель на область памяти, содержащую любую существующую переменную, процедуру или функцию, включая переменные, имеющие идентификаторы
GetMemСоздает новую динамическую переменную заданного объема и записывает ее адрес в переменную указательного типа



Указатели и адресные функции


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


ФункцияОписание
Addr Возвращает адрес указанного объекта
AssignedПроверяет, равно ли значение процедурной функции Nil
PtrПреобразует адрес в указатель



Зарезервированное слово Nil указывает значение указателя, который ни на что не указывает. Такие указатели называют неопределенными. В Object Pascal только при определении указателей можно нарушать правило, по которому все указываемые идентификаторы, в том числе идентификаторы типов, должны быть объявлены выше. Здесь можно указать идентификатор еще необъявленного типа, как в следующем примере:


PointerType = ^NotYetDefinedType;


Однако необъявленный тип необходимо объявить ниже в том же блоке объявления типов.


Определенный в Object Pascal тип Pointer- это указатель без типа. Обратиться к переменной через такой указатель невозможно (к переменной типа Pointer нельзя дописывать символ "^"). Однако можно задать ей другой указательный тип.


По значениям переменных тип Pointer совместим с остальными указательными типами.


Совет: Во многих языках указательные типы как таковые отсутствуют. Однако в С и C++ они есть и определяются звездочкой перед типом объявляемой переменной. Указатели в C/C++ трактуются наподобие целых переменных. программисты Delphi избегают подобного манипулирования указателями.


<<<  НазадВперед  >>>
 1  2  3  4  5  6 


 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь