Составители:
15
В языках программирования высокого уровня определена специаль-
ная константа nil, которая означает пустой указатель или указатель,
не содержащий какой-либо конкретный адрес.
При решении прикладных задач с использованием языков высокого
уровня наиболее частые случаи, когда могут понадобиться указатели,
следующие:
1) при необходимости представить одну и ту же область памяти, а сле-
довательно, одни и те же физические данные как данные разной логичес-
кой структуры. В этом случае вводятся два или более указателей, которые
содержат адрес одной и той же области памяти, но имеют разный тип.
Обращаясь к этой области памяти по тому или иному указателю, можно
обрабатывать ее содержимое как данные того или иного типа;
2) при работе с динамическими структурами данных. Память под
такие структуры выделяется в ходе выполнения программы, стандарт-
ные процедуры/функции выделения памяти возвращают адрес выде-
ленной области памяти – указатель на нее. К содержимому динами-
чески выделенной области памяти можно обращаться только через та-
кой указатель.
В языках высокого уровня указатели могут быть типизированными и
нетипизированными. При объявлении типизированного указа-
теля определяется и тип данного в памяти, адресуемого этим указате-
лем. Приведем пример объявления в языке Паскаль различных типизи-
рованных указателей:
var
ipt: ^integer;
cpt: ^char;
Здесь переменная ipt содержит адрес области памяти, в которой
хранится целое число, а cpt – адрес области памяти, в которой хранит-
ся символ. Хотя физическая структура адреса не зависит от типа и зна-
чения данных, хранящихся по этому адресу, считается, что указатели
ipt и cpt имеют разный тип.
Нетипизированный указатель служит для представления ад-
реса, по которому содержатся данные неизвестного типа. В Паскале это
тип pointer. Работа с нетипизированными указателями существенно
ограничена, они могут использоваться только для сохранения адреса, а
обращение по адресу, задаваемому нетипизированным указателем, не-
возможно.
Страницы
- « первая
- ‹ предыдущая
- …
- 13
- 14
- 15
- 16
- 17
- …
- следующая ›
- последняя »