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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
#1

Как инициализировать указатель произвольным адресом? - C++

10.04.2013, 08:30. Просмотров 1852. Ответов 30
Метки нет (Все метки)

Как инициализировать указатель произвольным адресом?
C++
int *ptr;
 
ptr = ? ; // КАК ЭТО СДЕЛАТЬ?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 08:30     Как инициализировать указатель произвольным адресом?
Посмотрите здесь:
как инициализировать указатель на структуру C++
C++ Как объявить указатель на массив через typedef и как инициализировать такой тип
Передать указатель в функцию и там его инициализировать C++
C++ Как правильно удалять выделенную память под указатель на указатель?
Расскажите, как здесь работает указатель на указатель? C++
Почему указатель на указатель объявляется как float **A; C++
Как передать параметр типа "указатель на указатель" в функцию? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 1
10.04.2013, 08:44     Как инициализировать указатель произвольным адресом? #2
C++
1
2
3
4
5
int n;
ptr=&n;//1 способ переменная уже есть
ptr=new int;//2 способ динамическоесоздание новой переменной
...
delete ptr;//удаление динамически созданной переменной
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 09:19  [ТС]     Как инициализировать указатель произвольным адресом? #3
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
int n;
ptr=&n;//1 способ переменная уже есть
ptr=new int;//2 способ динамическоесоздание новой переменной
ну это мне понятно, а как сделать что-то типа такого:
C++
ptr = 0xF0;
?
oxotnik
1589 / 1066 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
10.04.2013, 09:20     Как инициализировать указатель произвольным адресом? #4
Цитата Сообщение от programina Посмотреть сообщение
ну это мне понятно, а как сделать что-то типа такого:
Вот прям так и сделать. Только... для чего?
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,085
Записей в блоге: 3
Завершенные тесты: 1
10.04.2013, 09:22     Как инициализировать указатель произвольным адресом? #5
Цитата Сообщение от programina Посмотреть сообщение
а как сделать что-то типа такого:
C++
1
ptr=(int*)0x903280;
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 09:48  [ТС]     Как инициализировать указатель произвольным адресом? #6
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
ptr=(int*)0x903280;
А в данном случае взят конкретный адрес из ОЗУ?

Добавлено через 3 минуты
Липман писал, что это невозможно

Добавлено через 1 минуту
Цитата Сообщение от oxotnik Посмотреть сообщение
Вот прям так и сделать. Только... для чего?
Для общего развития

Добавлено через 8 минут
Цитата Сообщение от oxotnik Посмотреть сообщение
Только... для чего?
Для хеллворда же
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.04.2013, 09:58     Как инициализировать указатель произвольным адресом? #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от programina Посмотреть сообщение
ну это мне понятно, а как сделать что-то типа такого:
C++
1
ptr = 0xF0;
Прямо так, или
C++
1
ptr=(int*)0xF0;
, но при определённых условиях:
1. Целевая система поддерживает статические адреса.
2. Целевой адрес в целевой версии системы статический.
3. Целевой адрес в целевой версии системы точно известен.
4. Программа не будет без изменения исходного текста использована в других версиях системы.
Например, если собираешься скормить исходник кроскомпилятору для спектрума, контроллера, или сигнального камня. Иначе адрес должна поставлять система.

Добавлено через 6 минут
Цитата Сообщение от programina Посмотреть сообщение
Липман писал, что это невозможно
Можно, но вот обратиться по такому адресу в ОЗУ, ПЗУ, кеш, или память перифирийногой девайса, или его адаптера (типа видопамяти) может быть и не возможно.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 09:58  [ТС]     Как инициализировать указатель произвольным адресом? #8
Цитата Сообщение от taras atavin Посмотреть сообщение
Прямо так, или
C++
1
ptr=(int*)0xF0;
, но при определённых условиях:
1. Целевая система поддерживает статические адреса.
2. Целевой адрес в целевой версии системы статический.
3. Целевой адрес в целевой версии системы точно известен.
4. Программа не будет без изменения исходного текста использована в других версиях системы.
Например, если собираешься скормить исходник кроскомпилятору для спектрума, контроллера, или сигнального камня. Иначе адрес должна поставлять система.
А адрес из ОЗУ в данном случае?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.04.2013, 10:00     Как инициализировать указатель произвольным адресом? #9
Цитата Сообщение от programina Посмотреть сообщение
А адрес из ОЗУ в данном случае?
Адрес - это номер байта, то есть целое число, вот его значение и должно быть на месте F0. И вполне возможно, что 0xF0 как раз и находится в ОЗУ.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 10:04  [ТС]     Как инициализировать указатель произвольным адресом? #10
oxotnik,
Croessmah,
taras atavin,
спасибо
oxotnik
10.04.2013, 10:07
  #11

Не по теме:

Цитата Сообщение от programina Посмотреть сообщение
Для хеллворда же
Это который с преферансом и блудницами будет?

programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 10:08  [ТС]     Как инициализировать указатель произвольным адресом? #12
Да, я немного неправильно прочитала Лимпана, у него написано, что управлять таким динамическим обьектом без косвенной адресации нельзя.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.04.2013, 10:14     Как инициализировать указатель произвольным адресом? #13
Что вы будете с этим указателем делать? Выделением адресов управляет ОС.
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.04.2013, 10:18  [ТС]     Как инициализировать указатель произвольным адресом? #14
Цитата Сообщение от alsav22 Посмотреть сообщение
Что вы будете с этим указателем делать? Выделением адресов управляет ОС.
Я хотела узнать какое число хранится в конкретном адресе ОЗУ
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2013, 10:24     Как инициализировать указатель произвольным адресом?
Еще ссылки по теме:
Подскажите, как преобразовать строку с IP адресом в число и обратно C++
C++ Как инициализировать массивы?
C++ Как инициализировать переменные?
Как инициализировать структуру C++
Как инициализировать вектор set-ов? C++

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

Или воспользуйтесь поиском по форуму:
Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
10.04.2013, 10:24     Как инициализировать указатель произвольным адресом? #15
ну брехня же все. виндовс не даст доступа к физике. этот адрес всегда будет адресом вирутальной памяти того процесса в котором присутствует переменная int *ptr.Это в контроллерах еще можно по адресам куда то попасть на железо.
А в виндовс все будет зависеть от того каков этот адрес. Насколько я понмю существуют защищенные страницы и еще какие то диапазоны к которым не обратишься и обращение вызовет фейл
Yandex
Объявления
10.04.2013, 10:24     Как инициализировать указатель произвольным адресом?
Ответ Создать тему
Опции темы

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