|
Страница 1 из 9 Указатели - это практически то же самое, что и переменные. Тем не менее, они отличаются тем, что вместо того, чтобы содержать данные, они содержат указатель на адрес памяти, где данная информация может быть найдена. Это очень важный принцип. Многие программы и идеи полагаются на указатели в качестве основы своего дизайна, к примеру - связные списки.
Подготовка
Каким способом определить указатель? Таким же, как и любую другую переменную, за исключением того, что необходимо добавить символ звездочки перед именем. К примеру, следующий код создает два указателя, оба из них указывают на значение типа integer: int* pNumberOne; int* pNumberTwo;
Обратите внимание на префикс "p" перед двумя переменными. Это соглашение используется для указания того, что данная переменная является указателем. Теперь давайте сделаем более полезные указатели: pNumberOne = &some_number; pNumberTwo = &some_other_number; Символ & (амперсанд) читается как "по адресу" и вызывает возврат адреса из памяти переменной, вместо возврата самой переменной. Итак, в данном примере pNumberOne установлен адрес равный some_number, тем самым pNumberOne теперь указывает на some_number.
Теперь если мы хотим ссылаться на адрес some_number, мы можем использовать pNumberOne. Если нам необходимо ссылаться на значение some_number из pNumberOne, нам необходимо написать *pNumberOne. Символ * разыменовывает указатель и читается как "распределенная память, на которую ссылается", и декларируется в виде int *pNumber.
|