Указатель (пойнтер, англ. pointer) — это ссылка на данные или код вашей программы.
Представляет собой адрес элемента в памяти, на который указывает. Это может быть адрес переменной, записи данных, либо процедуры или функции. Использование указателей позволяет писать большие и более гибкие программы. Это особенно полезно при написании объектно-ориентированных программ.
Для чего используются указатели.
- Во-первых, указатели позволяют использовать некоторые выгоды косвенной адресации, широко применяемой в программировании на языках ассемблера.
- Во-вторых, указатели предлагают метод динамического управления памятью: их можно использовать для доступа к области с динамическим размещением памяти, обычно называемой кучей, или динамической памятью.
Языки программирования, в которых предусмотрен тип указателей, содержат, как правило, две основные операции над ними: присваивание и разыменование.
Первая из этих операций присваивает указателю некоторый адрес. Вторая служит для обращения к значению в памяти, на которое указывает указатель.
Примеры на языке Си++:
1) unsigned int * a; переменная а представляет собой указатель на тип unsigned int (целые числа без знака)
2) double * x; переменная х указывает на тип данных с плавающей точкой удвоенной точности
3) char * fuffer; объявляется указатель с именем fuffer который указывает на переменную типа char
4) double nomer;
void *addres;
addres = & nomer;
(double *)addres ++; Переменная addres объявлена как указатель на объект любого типа. Поэтому ей можно присвоить адрес любого объекта (& — операция вычисления адреса). Однако, ни одна арифмитическая операция не может быть выполнена над указателем, пока не будет явно определен тип данных, на которые он указывает.
Источники информации: