Учись программированию на C++ Builder бесплатно!

При работе с указателями и при передаче в функции параметров по ссылке используются операции (&) - адресации, и (*) - косвенной адресации или разыменования.

Например, указатель целого типа name описывается при косвенной адресации (разыменования) так:

int *name;

Унарная операция &, примененная к некоторой переменной, показывает, что нам нужен адрес этой переменной, а не ее текущее значение. Если переменная name объявлена как указатель, то оператор присваивания:

name = &x;

означает: "взять адрес переменной x и присвоить его значение переменной-указателю name".

Косвенная адресация (разыменование) *, примененная к указателю, обеспечивает доступ к содержимому ячейки памяти, на которую ссылается указатель. Например, *name можно описать словами как "то, что содержится по адресу, на который указывает name".

Указатели могут использоваться в выражениях. Если. например, переменная name указывает на целое x, то *name может во всех случаях использоваться вместо x:

*name+1; //увеличивает x на единицу
*name = 0; //равносильно x = 0

Два оператора присваивания:

name = &x;
y = *name;

выполняет то же самое, что и один оператор y=x.

Польза от применения указателей в таких ситуациях, мягко выражаясь, невелика.

Поделиться