Указатель – это переменная, содержащая адрес другого объекта Си-программы. Ели переменная содержит адрес некоторого другого объекта, то говорят, что переменная указывает на этот объект. Указатель может указывать на обычную переменную, массив, строку, структуру, другой указатель, функцию.
Применение указателей необходимо или полезно в следующих ситуациях:
· при динамическом распределении памяти;
· при работе с файлами;
· передача указателей в качестве параметров функции позволяет вызываемой функции изменять данные вызывающей функции;
· указатель является альтернативным (по отношению к индексам) способом работы с массивом и позволяет обеспечить передачу массива для обработки вызываемой функции;
· можно определить указатель на функцию и использовать этот указатель для вызова функции. Это даёт возможность передавать функции в функции.
Структура описания указателя
описатель иу1[,*иу2,…,*иуN];
описатель – ключевое слово, определяющая тип указателя ( тип объекта, на который он ссылается);
иу1, …,иуN –идентификаторы указателей;
* - признак указателя при описании.
Соответствие указателя и адреса переменной, на которую он ссылается , выражается зависимостью
иу=&ип;
иу – идентификатор указателя
& - операция взятия адреса
ип – идентификатор переменной
Указатель позволяет не только хранить адреса переменных, но и вызывать в случае необходиомсти их содержимое с помошью операции разадресации (*).
Разадресация указателя предписывает получение содержимого переменной (ячейки оперативной памяти), на которую он ссылается.