TURBO PASCAL

Новости           

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Гостевая книга

Благодарности

От автора

 

 

 

Объявление указателей

Указатели подразделяются на типизированные и нетипизированные .

N/ Типкшгюванные - связываются с определенным типом данных. Для об

используется значок л , который помещается перед соответствующим типом.

VAR

Р1 : INTEGER:

Р2: *RI-:AL;

TYPE

PPOINT= APREC;

FREC = RECORD

NAME. STRING;

JOB : STRING;

NEXT: PPOINT

END;

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

Нетипизировапныи указатель - что указатель не связанный с определенным типом ~данных С их помощью удобноудобно динамически размещать данные, структура и тип которых изменяются в ходе работы программы. Дня объявления такого указателя используется стандартный тип POINTER: ^^^ KvfVt в +0f £- **( & VAR

P:POINTER;

В Турбо-Паскале можно передавать значения только между указателями, связанными с одним и тем же типом данных. Например, если: VAR

Р1,Р2: INTEGER; РЗ: ARF,At; Р4: POINTER;

то присваивание Р] :=Р2 - допустимо; а Р1 ~РЗ - недопустимо. Но это ограничение не распространяется на нетипизированные указатели: РР:=РЗ, Р1 :=РР; - допустимые присваивания

Указатель NIL считается константой, совместимой с любым типом указателя, то есть значение NIL можно присвоить любомжу указателю.

Над значениями указателей допустимы две операции сравнения (отношения): Р1=Р2 и Р!оР2. Два_указателя равны только в том случае, если они ссылаются на один и тот же объект (указывают на один и тот е адрес). При сравнении указателей просто сравниваются сегменты и смещения

 

На первую страницу

 

Rambler's Top100 PROext: Top 1000 Rambler's Top100
(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz