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

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

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

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

26.04.2013, 15:13. Просмотров 314. Ответов 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])?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 15:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический массив и указатель (C++):

Динамический массив и указатель на указатель - C++
Спасибо за внимание) Задача такова: нужно удалить элемент по индексу, при этом уменьшить сам массив на 1 (т.е. удалили элемент - уменьшился...

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

Указатель на двухмерный динамический массив - C++
Друзья, нужна Ваша помощь! Создаю одномерный динамический, создаю указатель на него (вернее на его первый эл-т). То же самое пытаюсь...

Умный указатель и динамический массив - C++
Здравствуйте! Есть проблема со следующим заданием. Есть класс умного указателя, используя его необходимо, создать каталог товаров (+ 2...

Классы, указатель на динамический массив - C++
Здравствуйте, Подскажите пожалуйста, в чем моя ошибка, у меня есть класс Треугольник, на основании его мне нужно создать так...

Нужно сделать указатель на динамический двумерний массив - C++
Есть динамический массив, псевдо-код: #include &lt;iostream&gt; using namespace std; const int x = 10; int main() { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nonedark2008
908 / 647 / 134
Регистрация: 28.07.2012
Сообщений: 1,760
26.04.2013, 15:17 #2
pArray - это указатель на начало блока памяти, который был выделен оператором new.
pArray[0] - это доступ к первому элементу массива, на который указывает pArray.

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

Тогда код, указный в первом посте, синтаксически правильный?
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.04.2013, 16:28 #4
Цитата Сообщение от Goshik Посмотреть сообщение
На сколько правильное использование записи в ячейку массива pArray[0] = 6?
Правильно.
Цитата Сообщение от Goshik Посмотреть сообщение
Ведь по сути pArray - это массив указателей
pArray - массив int'ов.
Цитата Сообщение от Goshik Посмотреть сообщение
(*pArray[0])
Будет ошибка компиляции.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2013, 16:28
Привет! Вот еще темы с ответами:

Не работает динамический массив в классе: что раньше, указатель или размер? - C++
Подскажите пожалуйста где ошибка class arar { int*arr, size; public: arar() :arr(new int()), size(10) { for (int i(0); i...

В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель - C++
В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель на него. Первым элементом...

Функция принимает указатель на динамический массив и возвращает его же, но без чисел полиндромов (читается с обоих сторон одинаково - 234432) - C++
Вот мое решение, подскажите, пожалуйста, что изменить, чтобы заработала программа: # include &lt;iostream&gt; # include &lt;stdlib.h&gt; #...

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. - C++
Пишу в Microsoft Visual Studio -&gt;Win32 Console application -&gt;C++. Условие:Реализовать 3 функции, каждая из которых принимает указатель на...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.04.2013, 16:28
Ответ Создать тему
Опции темы

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