C/C++

Объясните как работает этот участок кода, я что то не много запутался с механикой работы.

переменная i инкрементируется в цикле
берется указатель и указатель пробегает от начала до конца
p[i] =
а после равно i которая является инкрементом помогает самой себе наращивать значение или это значение записывается в глобальную i и там же сохраняется?
A, Yan
A, Yan
75 999
Вот что случается, когда программист начинает запутывать сам себя. Если ты объявил указатель, то и веди его как указатель:
*(p+i)=i;

Не надо мешать в кучу всё.

P.S.: new[] - вроде как сам должен обрабатывать исключения. Для этого весь огород и городить и начинали с плюсами.

Для начала реши, под что ты будешь писать Си или Плюсы. Если плюсы - то указатели там - плохой тон. Если чистый Си - нужно очень аккуратно называть и вести указатель. Потому что их очень много будет всяких разных. Будут и массивы указателей, и тройные указатели...
Игорь Сапожников
Игорь Сапожников
26 551
Лучший ответ
Это означает, что вы цикле выполняется присваивание элементам массива значений индексов по которым они расположены.
KK
Kuandyk Karabalaev
63 630
for (i = 0; i < 10; i++) — это значит, что i будет сначала равно 0, потом 1, 2, …, 9.
Для каждого такого i будет выполнено присвоение.
Этот цикл равнозначен десяти присвоениям:
p[0] = 0;
p[1] = 1;
p[2] = 2;

p[9] = 9;
RM
Rahimjon Muqimi
68 156
Ты чё, тупой? Записывается значение i в массив по индексу i
Andy Andy
Andy Andy
84 818
Армен Едоян Человек может быть не очень умным. В этом нет ничего зазорного. Это дано от природы. Лучше не обзываться
Поставь нормальную Иде и походи отладчиком а то долго объяснять что значит забрать массив
MB
Mэgo Beat
59 846
Тут у тебя в цикле создается одномерный массив чисел от 1 до 10 I просто определяет номер шага [i] - номер ячейки массива, а i - значение, которое записывается в эту ячейку... И не оперируй сложными терминами, понимание важнее знания.
Асет Туркистанбайулы Записывается все в массив р[]
Переменная i просто увеличивается на единицу при каждой итерации цикла, после выполнения первого цикла for, переменная i будет равна 10, это то значение на котором цикл будет остановлен. Второй цикл for также использует переменную i, но инициализирует её нулем, когда цикл будет завершен переменная i будет равна 10.

Само выражение p[i] = i; указывает компилятору, что нужно записать значение i в массив p под индексом i. После выполнения цикла массив p будет содержать 10 элементов со значениями от 0 до 9.

Чтобы было понятнее, цикл for можно переписать вот так.

for (int i = 0, currentValue; i < 10; i++) {
currentValue = i;
p[i] = currentValue;
}