Новые книги

Без доменов современный Интернет невозможен. Читатель найдет сведения о том, как домены появились, как устроена система доменов и как ими эффективно управлять, как домены связаны с информационной безопасностью, какие административные, технические и правовые коллизии возникают вокруг них и что ждет доменные имена в будущем.
Прогуливаясь по интернет-страницам, вам наверняка не раз приходилось сталкиваться с упоминаниями об iPad. Многих впечатляет, с каким нетерпением люди ждут выхода новых моделей этого легендарного планшета и наверняка возникает закономерный вопрос: «так для чего же нужен iPad и что он из себя представляет?» Сейчас, когда мы получили представление о том, что из себя представляет iPad, пора разобраться с тем, зачем нам вообще он так необходим и почему во всем мире находятся миллионы ярых поклонников этого большого, но такого красивого устройства.

35. Указатели

35. Указатели

   Операционная система MS - DOS все адресуемое пространство делит на

сегменты. Сегмент - это участок памяти размером 64 К байт.  Для зада-

ния адреса необходимо определить адрес начала сегмента и смещение от-

носительно начала сегмента.

   В TURBO  PASCAL определен адресный тип Pointer - указатель.  Пере-

менные типа Pointer

 

   var p: Pointer;

  

содержат адрес какого - либо элемента программы и занимают  4  байта,

при этом   адрес хранится как два слова,  одно из них определяет сег-

мент, второе - смещение.

   Переменную типа указатель можно описать другим способом.

  

  type NameType= ^T;

  

  var p: NameType;

   

   Здесь p - переменная типа указатель, связанная с типом Т с помощью

имени типа NameType.  Описать переменную типа указатель можно  непос-

редственно в разделе описания переменных:

 

   var p: ^T;

  

   Необходимо различать  переменную  типа указатель и переменную,  на

которую этот указатель ссылается.  Например если p - ссылка на  пере-

менную типа Т, то p^ - обозначение этой самой переменной.

   Для переменных  типа  указатель  введено стандартное значение NIL,

которое означает,  что указатель не ссылается ни  к  какому  объекту.

Константа NIL используется для любых указателей.

   Над указателями не определено никаких операций,  кроме проверки на

равенство и неравенство.

   Переменные типа указатель могут быть записаны в левой части опера-

тора присваивания,  при этом в правой  части  может  находиться  либо

функция определения адреса Addr(X), либо выражение @ X, где @ - унар-

ная операция взятия адреса,  X - имя переменной любого типа,   в  том

числе процедурного.

   Переменные типа указатель не могут быть элементами списка ввода  -

вывода.