Информатика и технология программирования


Операции над указателями


В процессе определения указателей мы рассмотрели основные операции над указателями:



-операция присваивания указателей одного типа. Назначение указателю адреса переменной p=&#38a есть одни из вариантов такой операции: выражение &#38a является постоянным (константным) указателем такого же типа, что и p;



-операция косвенного обращения по указателю;



-операция адресной арифметики " указатель+целое" и все производные от нее.

Кроме того, имеется еще ряд операций, понимание которых не выходит за рамки "здравого смысла" понятия указателя .

СРАВНЕНИЕ УКАЗАТЕЛЕЙ НА РАВЕНСТВО: равенство указателей однозначно понимается как совпадение адресов, то есть назначение их на одну и ту же область памяти (переменную);

ПРЕОБРАЗОВАНИЕ " УКАЗАТЕЛЬ -ЦЕЛОЕ" : в конечном счете адрес, который представляет собой значение указателя, является обычным машинным словом определенной размерности, чему в Си соответствует целая переменная. Поэтому в Си преобразования типа " указатель-целое" и " целое-указатель" понимаются как получение адреса памяти в виде целого числа и преобразование целого числа в адрес памяти, то есть как работа с реальными адресами памяти компьютера. Такие операции являются в большинстве своем машинно-зависимыми, поскольку требуют знания некоторых тонкостей работы компьютера, операционной системы и транслятора:



-системы преобразования адресов компьютера, размерностей используемых указателей (int или long);



-особенностей распределения памяти транслятором и операционной системой;



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

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

"ПУСТОЙ" УКАЗАТЕЛЬ: среди множества адресов выделяется такой, который не может быть использован в правильно работающей программе для размещения данных.


Начало  Назад  Вперед