ВУЗ:
Составители:
Рубрика:
66
Пример. Объявление указателей и обращение к памяти. Значение
переменной px – адрес памяти, а *px – данные, записанные по адресу px.
int x=100; // переменная
cout<<"\n x="<<x;
int* px; // указатель на int
px = &x; // указателю присвоили адрес переменной x
*px =200; /* Изменения значения, записанного по адресу
px */
cout<<"\n px="<<px;
cout<<"\n *px="<<*px<<" x="<<x<<"\n";
При создании указателя память выделяется только для хранения
адреса. Для выделения памяти под данные используется оператор new (или
функция malloc()). Выделение памяти оператором new:
указатель = new Тип
Оператор new выделяет память в количестве, необходимом для
хранения данных указанного типа. Указатель в левой части оператора
присваивания должен быть указателем на тот же тип данных.
Пример. Оператором new выделена память для данных типа int, с
помощью оператора delete выполнено освобождение памяти.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "rus");//русификация консоли
int *p;
p = new int; /* Выделение памяти для целого. Далее
выполняется проверка, удачно ли произошло выделение
памяти, если нет – выход из программы с кодом
завершения 1: */
if(!p) {
cout << "\nНедостаточно памяти\n";
return 1;
}
*p = 1000;
Пример. Объявление указателей и обращение к памяти. Значение переменной px – адрес памяти, а *px – данные, записанные по адресу px. int x=100; // переменная cout<<"\n x="<using namespace std; int main() { setlocale(LC_CTYPE, "rus");//русификация консоли int *p; p = new int; /* Выделение памяти для целого. Далее выполняется проверка, удачно ли произошло выделение памяти, если нет – выход из программы с кодом завершения 1: */ if(!p) { cout << "\nНедостаточно памяти\n"; return 1; } *p = 1000; 66
Страницы
- « первая
- ‹ предыдущая
- …
- 64
- 65
- 66
- 67
- 68
- …
- следующая ›
- последняя »