TURBO PASCAL |
Новости
|
Объявление указателейУказатели подразделяются на типизированные и нетипизированные . 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. Два_указателя равны только в том случае, если они ссылаются на один и тот же объект (указывают на один и тот е адрес). При сравнении указателей просто сравниваются сегменты и смещения |
На первую страницу
(с)Все права защищеныПо всем интересующим вопросам прошу писать на электронный адрес |