Программирование и основы алгоритмизации. Макаров В.Л. - 65 стр.

UptoLike

Составители: 

65
С помощью имени массива или функции, которые трактуются как ад-
рес:
int b[10]; // массив
int *t = b; // присвоение адреса начала массива
2. Присваивание указателю адреса области памяти в явном виде:
char*z = (char*)0x00000417;
Здесь 0x00000417 – шестнадцатеричная константа ,
(char*) – операция приведения константы к типу указатель на char.
3. Присвоение пустого значения:
int*p = 0;
Поскольку гарантируется, что объектов с нулевым адресом
нет, пустой
указатель можно использовать для проверки, с помощью которой можно
оценить: ссылается указатель на конкретный объект или нет.
4. Выделение участка динамической памяти и присвоение ее адреса указателю с
помощью операции new:
int*n = new int; // 1
int*m = new int(10); // 2
int*q = new int[10]; // 3
В операторе 1 операция new выполняет выделение достаточного для разме-
щения величины типа int участка
динамической памяти и записывает адрес на-
чала этого участка в переменную n. В операторе 2, кроме того, производится
инициализация выделенной памяти значением 10. В операторе 3 операция new
выделяет память под массив из 10 элементов и записывает адрес начала этого
участка в переменную q, которая может трактоваться как имя массива.
10.2. Операции над указателями
С указателями связаны два специальных оператора: & и*. Обе эти операции
унарные, т.е. имеют один операнд, перед которым они ставятся. Операция &
соответствует действиювзять адрес”. Операция * соответствует словамзна-
чение, расположенное по указанному адресу”. Например:
int y = 5;
int *py;
py = &y; .
Здесь оператор py = &y; присваивает адрес переменной у указателю py. Го-
ворят, что переменная py указывает на y. Оператор * обычно называют опера-
тором косвенной адресации, или операцией разыменования, возвращающей
значение объекта (элемента), на который указывает ее операнд (т.е. указатель).
Например, оператор cout << *py <<”\n”; печатает значение переменной у, а
именно 5. Использование * указанным способом позволяет обеспечить доступ к
величине, адрес которой хранится в указателе.
На
рис. 10.1 приведен листинг программы, в которой рассматриваются при-
меры использования операций & и *.