Мое назначение требует, чтобы я сделал это: «Выделите массив из семи целых чисел; инициализируйте его как 1,2,4,8 и т. Д.; И назначьте его адрес переменной p2»
Это был мой код:
int* p2 = new int[7] {1,2,4,8,16,32,64};
cout << "Drill 3 & 4 (allocating 7 element array): " << endl;
for (int i = 0; i < 7; ++i) {
cout << p2[i];
}
но меня беспокоит, что я неправильно понимаю инструкции. Из-за этого я попробовал этот код, который нашел в Интернете:
int* sev = new int[7];
for (int i = 0; i<7; ++i)
sev[i] = i+1;
int* p2 = sev;
cout << "p2= " << p2 << ", *p2=" << *p2 << endl;
cout << "sev= " << sev << ", *sev=" << *sev << endl;
Но он выводит адрес, а затем 1. И когда я добавляю цикл for, чтобы сделать это семь раз для всех элементов, это просто 1111111.
Мой код выше: присвоение адреса указателю или что-то другое?
Позже я должен сделать его равным p1, который является указателем (* int p1 = & x, x = 7 <- не код, для справки). И мне нужно освободить p1 и p2 (и p3, но это не актуально). Это позволяет мне освободить p2, но не p1. Итак, я думаю, что, может быть, я не понимаю вопроса или неправильно подхожу к нему. </p>