Технология программирования. Базовые конструкции C/C++. Липачев Е.К. - 66 стр.

UptoLike

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

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