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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Goshik
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 2
#1

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

26.04.2013, 15:13. Просмотров 296. Ответов 3
Метки нет (Все метки)

Всем привет.
Пытаюсь понять тему динамических массивов. Прошу помочь разобраться в следующем:

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

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     Динамический массив и указатель
Посмотрите здесь:

C++ указатель на массив
указатель и массив C++
Указатель на двухмерный динамический массив C++
Нужно сделать указатель на динамический двумерний массив C++
Указатель и массив C++
C++ Функция принимает указатель на динамический массив и возвращает его же, но без чисел полиндромов (читается с обоих сторон одинаково - 234432)
C++ Массив и указатель
Динамический список, беглый указатель C++
C++ Указатель на массив
Умный указатель и динамический массив C++
Не работает динамический массив в классе: что раньше, указатель или размер? C++
Классы, указатель на динамический массив C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nonedark2008
813 / 571 / 110
Регистрация: 28.07.2012
Сообщений: 1,522
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
:)
Эксперт С++
4384 / 3227 / 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     Динамический массив и указатель
Ответ Создать тему
Опции темы

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