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

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

Войти
Регистрация
Восстановить пароль
 
Deamod1s
 Аватар для Deamod1s
0 / 0 / 0
Регистрация: 28.10.2016
Сообщений: 6
#1

Почему мы не разыменовываем указатель на элемент массива? - C++

04.11.2016, 15:53. Просмотров 82. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
    int *ptrarray = new int [10];
    for (int i = 0; i < 10; i++)
    {
        ptrarray[i] = i;
        cout << ptrarray[i] << " ";
    }
    delete[] ptrarray;
Почему не правильна инструкция
C++
1
*ptrarray[i] = i;
Ведь чтобы "кинуть" какое-то значение в ячейку динам.памяти,которая находится по адресу,на который ссылается указатель,нужно его сначала разыменовать.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2016, 15:53     Почему мы не разыменовываем указатель на элемент массива?
Посмотрите здесь:

Может ли указатель показывать на последний элемент массива, а не на первый? C++
Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию C++
C++ Как передвигать указатель на следующий элемент массива структур?
Вывести минимальный элемент введенного с клавиатуры массива целых чисел (через указатель) C++
Элемент массива внезапно меняет свое значение, почему? C++
Вставить после данного элемента списка новый элемент, и вывести указатель на добавленный элемент C++
C++ Найти максимальный элемент массива: неправильный результат, почему?
Объяснить почему выводит на экран не тот элемент массива, который ожидается C++
Заставить указатель указывать на нулевой элемент массива C++
Первый элемент массива равен 1 а остальные почему-то нулю C++
Создать указатель на элемент массива C++
Как добавить элемент в очередь, используя указатель на последний элемент? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12543 / 7105 / 797
Регистрация: 27.09.2012
Сообщений: 17,528
Записей в блоге: 2
Завершенные тесты: 1
04.11.2016, 16:00     Почему мы не разыменовываем указатель на элемент массива? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Deamod1s Посмотреть сообщение
нужно его сначала разыменовать.
выражение ptr[i] преобразовывается в *(ptr+i).
DevAlone
144 / 139 / 38
Регистрация: 02.08.2016
Сообщений: 541
Завершенные тесты: 4
04.11.2016, 16:02     Почему мы не разыменовываем указатель на элемент массива? #3
потому что [] его уже разыменовывают, это всё равно что написать *(ptrarray+i)

Добавлено через 59 секунд
а если вы напишете *ptrarray[i] = i; будет **(ptrarray+i) и компилятор укажет на ошибку
Yandex
Объявления
04.11.2016, 16:02     Почему мы не разыменовываем указатель на элемент массива?
Ответ Создать тему
Опции темы

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