Язык программирования C++. Вводный курс


Динамическое выделение памяти и указатели - часть 4


Упражнение 2.3

Объясните разницу между четырьмя объектами:

(a) int ival = 1024;

(b) int *pi = &ival;

(c) int *pi2 = new int(1024);

(d) int *pi3 = new int[1024];

Упражнение 2.4

Что делает следующий фрагмент кода? В чем состоит логическая ошибка? (Отметим, что операция взятия индекса ([]) правильно применена к указателю pia. Объяснение этому факту можно найти в разделе 3.9.2.)

int *pi = new int(10);

int *pia = new int[10];

 

while ( *pi < 10 ) {

  pia[*pi] = *pi;

  *pi = *pi + 1;

}

 

delete pi;

delete[] pia;




Начало  Назад  Вперед



Книжный магазин