Операции с указателями
С указателями можно провести две унитарные операции:
1. &(взять адрес). Указатель получает адрес переменной. Данная операция применима к переменным, под которые выделен соответствующий участок памяти. Например,
int x=1, *pint;
pint=&x; //теперь в pint записан адрес переменной x
2. * (операция разъименовывания). Предназначена для доступа к величине, расположенной по данному адресу.
Например,
int x=1, *pint;
pint=&x; //теперь в pint записан адрес переменной x
/*содержимому по данному адресу присвоим новое значение равное 2 */
*pint=2;
cout<< "x= " <<x;
Над указателями можно выполнять арифметические операции сложения, инкремента, вычитания, декремента и операции сравнения. При выполнении арифметических операций с указателями автоматически учитывается размер данных (т.е. объем памяти), на которые он указывает.
Указатели, как правило, используются при работе с динамической памятью (heap, или «куча»).
В языке C++ для выделения и освобождения памяти определены операции new и delete соответственно. Используют две формы операций:
1. Тип *указатель = new тип (значение) – выделение участка памяти в соответствии с указанным типом и занесение туда указанного значения. delete указатель – освобождение выделенной памяти.
2. Тип *указатель = new тип[n] – выделение участка памяти размером n блоков указанного типа. delete [ ]указатель – освобождение выделенной памяти.
Дата добавления: 2015-07-30; просмотров: 802;