Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПТСПЦУВСБ / 23. Объявление и использование указателей в С

.docx
Скачиваний:
48
Добавлен:
27.12.2015
Размер:
230.03 Кб
Скачать

23. Объявление и использование указателей в С.

Указатель (англ. pointer) это переменная, хранящая адрес переменной. Часть задач

не может быть решена без использования указателей, некоторые задачи могут быть

решены с помощью указателей более эффективно. В частности, указатели необходимы

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

например, связанных списков, эффективной обработки больших блоков данных (передача

указателей на массивы в подпрограммы), взаимодействия с периферийным

оборудованием и других задач.

ЭВМ обрабатывает указатель как целочисленную беззнаковую переменную (обычно,

2 или 4 байтную).

Указатели в C объявляются с помощью символа “*”, который ставят перед именем

переменной. Например, указатель на переменную типа char: char *pc;, на

переменную типа int: int *pi;. Используют также нетипизированный указатель

void *p;, который хранит адрес блока данных произвольного размера в ОЗУ. В

конечном счете, обычно, с нетипизированным указателем используют операцию явного

приведения типа (см. листинг 4.2).

Для работы с указателями язык С предлагает 2 унарных оператора: “&” – оператор

взятия адреса и “*” – оператор косвенной адресации или оператор разыменование (англ.

dereferencing). Пример использования типизированных указателей представлен на

рис. 4.5.