- Указатели
- Работа
Указатели
Указатель – это переменная особого рода: она содержит не само значение переменной, а адрес той области памяти, где искомое значение хранится.
Указатель – это одна из наиболее мощных возможностей языка Си и, как любое мощное средство, указатель может быть как чрезвычайно удобным инструментом, так и источником больших проблем, если используется неумело.
Для объявления указателя достаточно добавить к типу переменной символ «*»:
unsigned int * iptr;
char * arr[];
long * lptr;
Объявленные таким образом переменные iptr, arr[] и lptr будут указателями: iptr – указатель на число типа int, arr – массив указателей на символ, lptr – указатель на число типа long.
Чтобы обратиться к тем данным, на которые указывает переменная-указатель, следует предварить ее имя символом «*» (такая операция получила название «разыменование указателя»):
iptr – адрес области памяти, хранящей число типа int
*iptr – значение этого числа
Очевидно, что использование указателей позволит получить доступ к любой произвольной области памяти. Именно в этом и кроется источник возможных проблем: стоит ошибиться в значении переменной-указателя, как последствия обращения к данным, на которые она указывает, становятся непредсказуемыми.