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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 18:17   #1
Freewill
Пользователь
 
Аватар для Freewill
 
Регистрация: 11.03.2011
Сообщений: 19
По умолчанию Вопрос по указателям.

Вот читаю:
p=&m. В переменную p заносится адрес m.
*p. Разыменовывается p и достается значение m, расположенное по адресу.

Вопрос: в чем смысл этой записи? И как тут разыменовать p.
*p=&m
Freewill вне форума Ответить с цитированием
Старый 15.03.2011, 19:34   #2
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Здесь *p=&m просто тупо адресом переменной m инициализируется разыменованный указатель. Просто будет содержать число (адрес) и все .
profi вне форума Ответить с цитированием
Старый 15.03.2011, 19:58   #3
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Смысл таков: если у вас косвенная адресация, т.е. p указывает на место в памяти, где хранится адрес переменной типа int, то запись *p = &m указывает, что в это место, на которое указывает p, надо записать адрес m. В коде выглядит так:
Код:
int **p = new int*, m(2012);
*p = &m;
cout << **p; // Выведет: 2012
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 16.03.2011, 03:33   #4
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

может быть имеется ввиду такая форма записи?
int *p=&m;
она просто аналогична
int *p;
p=&m;
onewho вне форума Ответить с цитированием
Старый 16.03.2011, 12:36   #5
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Если позволите, вдогонку...
Разбираю чужой код, встретил следующее:
Код:
    long llvalue = 0;
    unsigned char *lp = (unsigned char*) &llvalue;
Это единственно возможная реализация, или эту зубодробительную запись можно упростить?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 16.03.2011, 12:55   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Mandrivnyk
что тут зубодробительного? обычное приведение типа
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 вне форума Ответить с цитированием
Старый 16.03.2011, 13:05   #7
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

В данном случае это аналогично reinterpret_cast ?
the_deer_one вне форума Ответить с цитированием
Старый 16.03.2011, 14:06   #8
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

да .
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 вне форума Ответить с цитированием
Старый 16.03.2011, 18:54   #9
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Спасибо, уже разобрался.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по указателям fs444 Общие вопросы C/C++ 5 17.08.2010 00:08
Программа на С++ по указателям AquaticSoul Помощь студентам 2 21.12.2009 10:23
вопрос по указателям Juffin Общие вопросы Delphi 2 24.11.2009 20:03
Поясните передачу значений по указателям fs444 Общие вопросы C/C++ 6 30.10.2009 10:52
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10