Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 13:33   #1
GrihaI
Пользователь
 
Регистрация: 23.04.2010
Сообщений: 13
По умолчанию Указатели

int *p1,a;
Как сделать чтобы указатель ссылался на адрес 0x70, а через переменную "а" менять содержимое ячейки?
Для спасибо Z298312474269
GrihaI вне форума Ответить с цитированием
Старый 06.05.2010, 16:47   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Код:
p1 = 0x70;
(*p1) = new_value;
а - здесь лишняя
BOBAH13 вне форума Ответить с цитированием
Старый 06.05.2010, 17:07   #3
GrihaI
Пользователь
 
Регистрация: 23.04.2010
Сообщений: 13
По умолчанию

Ругается на p1 = 0x70;
невозможно преобразовать 'int' в 'int *'
Для спасибо Z298312474269
GrihaI вне форума Ответить с цитированием
Старый 06.05.2010, 17:08   #4
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Код:
 int *p1,a;
 p1 = (int*)0x70;
 (int*)a = p1;
подпись
liljon вне форума Ответить с цитированием
Старый 06.05.2010, 17:34   #5
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2liljon
Код:
 (int*)a = p1;
что за бред?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 06.05.2010, 17:45   #6
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
2liljon
Код:
 (int*)a = p1;
что за бред?
Цитата:
а через переменную "а" менять содержимое ячейки?
вот и ответ
подпись
liljon вне форума Ответить с цитированием
Старый 06.05.2010, 17:50   #7
GrihaI
Пользователь
 
Регистрация: 23.04.2010
Сообщений: 13
По умолчанию

Ошибка 1 error C2106: =: левый операнд должен быть левосторонним значением
ругается на " (int*)a = p1;"
Для спасибо Z298312474269
GrihaI вне форума Ответить с цитированием
Старый 06.05.2010, 17:54   #8
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

а билдер пропускает нормально.
тогда так a = *(int*)&p1;
подпись
liljon вне форума Ответить с цитированием
Старый 06.05.2010, 18:01   #9
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Цитата:
Сообщение от liljon Посмотреть сообщение
а билдер пропускает нормально.
тогда так a = *(int*)&p1;
но мы не сможем менять то что по адресу 0x70, использовать ссылки нужно:
Код:
    int *p = 0x70;
    int &a = *p;
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 06.05.2010, 18:34   #10
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2liljon
Цитата:
вот и ответ
знают взрослые и дети, после приведения типа к указателю, значение становится rvalue. да и вообще, после любого приведения

Цитата:
а билдер пропускает нормально.
тогда так a = *(int*)&p1;
взял адрес переменной, где хранится указатель, привел к обычному указателю и разыменовал...... чтож ты хочешь увидеть в итоге в "a"? адрес, на который указвает p1? не проще ли
Код:
a = (int)p1;
?

вообщет я даже задания автора не понял, что он хочет
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 06.05.2010 в 18:37.
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ (указатели). slim>>> Помощь студентам 8 03.03.2010 19:39
Указатели(Си) Bl@st Помощь студентам 6 12.01.2010 21:03
Указатели sid Помощь студентам 2 02.01.2010 23:23
Указатели olli Общие вопросы C/C++ 3 20.05.2009 19:40
[C] массивы, указатели, двойные указатели. Iggel Общие вопросы C/C++ 5 05.05.2009 12:39