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

Разыменовывание массива указателей - C++

Восстановить пароль Регистрация
 
ntny
7 / 7 / 0
Регистрация: 17.06.2012
Сообщений: 168
25.11.2012, 14:00     Разыменовывание массива указателей #1
Здравствуйте.
Если просто создать статический массив char a[] = {'s', ' t','r','i','n','g'};
Объявить на него указатель char* v = a;
и сделать разыменовывание cout << *(v+3); то получу символ хранящийся в массиве.

Однако в данном случае char* arra = new char['s','o','m','m','e','s','t', 'h', 'd', 'h', 'h', 'g','s','r','i','n','g','h'];
разыменовывние cout << *(arra+3); не работает.
Выводятся знаки равно(=) вместо символов.
Каким образом можно разыменовывать указатель в данном случае?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2012, 14:00     Разыменовывание массива указателей
Посмотрите здесь:

C++ Программирование массива указателей
Удаление массива указателей C++
C++ Заполнение массива с использованием указателей
C++ Разыменовывание воид указателей, хранящихся в массиве
C++ Сортировка массива указателей на char
Сортировка массива структур через сортировку массива указателей C++
C++ Переопределение размера массива указателей
C++ Связь массива и указателей

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ps10n1ck
 Аватар для ps10n1ck
53 / 47 / 2
Регистрация: 10.11.2010
Сообщений: 132
25.11.2012, 14:08     Разыменовывание массива указателей #2
ты неправильно динамический массив выделяешь

Добавлено через 1 минуту
char* arra = new char['s','o','m','m','e','s','t', 'h', 'd', 'h', 'h', 'g','s','r','i','n','g','h'];
вместо этого нужно,
char* arra = new char[кол элементов для хранения чаров]
а потом просто
cout << arra[индекс элемента]

Добавлено через 1 минуту
для инициализации можно сделать так:
for(uint i = 0; i < кол элементов; ++i)
cin >> arra[i]
Yandex
Объявления
25.11.2012, 14:08     Разыменовывание массива указателей
Ответ Создать тему
Опции темы

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