Форум программистов, компьютерный форум CyberForum.ru

Динамический массив и указатель - C++

Восстановить пароль Регистрация
 
Goshik
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 2
26.04.2013, 15:13     Динамический массив и указатель #1
Всем привет.
Пытаюсь понять тему динамических массивов. Прошу помочь разобраться в следующем:

Есть код (пример):

C++
1
2
3
4
5
int num = 5; // размер массива
int *pArray = new int[num]; // Выделение памяти для массива
 
pArray[0] = 6; //Записываем 6 в 0 ячейку массива
cout << pArray[0]; //Получаем доступ к элементу массива
1. На сколько правильное использование записи в ячейку массива pArray[0] = 6?
Ведь по сути pArray - это массив указателей, и в нем должны хранится адреса.

2. Как правильно получать доступ к элементу pArray: напрямую (pArray[0]) или разыменованием (*pArray[0])?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 15:13     Динамический массив и указатель
Посмотрите здесь:

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. C++
Указатель на двухмерный динамический массив C++
Динамический массив и указатель на указатель C++
Нужно сделать указатель на динамический двумерний массив C++
C++ Функция принимает указатель на динамический массив и возвращает его же, но без чисел полиндромов (читается с обоих сторон одинаково - 234432)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nonedark2008
624 / 502 / 92
Регистрация: 28.07.2012
Сообщений: 1,340
26.04.2013, 15:17     Динамический массив и указатель #2
pArray - это указатель на начало блока памяти, который был выделен оператором new.
pArray[0] - это доступ к первому элементу массива, на который указывает pArray.

Добавлено через 51 секунду
pArray[i] <=> *(pArray + i)
Goshik
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 2
26.04.2013, 15:26  [ТС]     Динамический массив и указатель #3
Цитата Сообщение от nonedark2008 Посмотреть сообщение
pArray[i] <=> *(pArray + i)
*(pArray + i) - спасибо, так намного понятнее.

Тогда код, указный в первом посте, синтаксически правильный?
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.04.2013, 16:28     Динамический массив и указатель #4
Цитата Сообщение от Goshik Посмотреть сообщение
На сколько правильное использование записи в ячейку массива pArray[0] = 6?
Правильно.
Цитата Сообщение от Goshik Посмотреть сообщение
Ведь по сути pArray - это массив указателей
pArray - массив int'ов.
Цитата Сообщение от Goshik Посмотреть сообщение
(*pArray[0])
Будет ошибка компиляции.
Yandex
Объявления
26.04.2013, 16:28     Динамический массив и указатель
Ответ Создать тему
Опции темы

Текущее время: 07:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru