Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.09;
Скачать: CL | DM;

Вниз

C++ не могу понять почему верна такая запись int *p=&a;   Найти похожие ветки 

 
michael ©   (2003-09-19 20:56) [0]

Читаю тут одну книгу по C++ и не могу понять почему верна такая запись int *p=&a; (где a переменная типа int, объявленная выше)?
Цитата из книги: Указатель – это не сам объект, а его адрес. Чтобы превратить указатель в объект, применяется оператор *. Если, скажем, p – это указатель на переменную типа int, то *p – сама переменная типа int.

Мой вывод: получается что в инструкции int *p=&a; объекту на который указывает p присваивается адрес переменной a. В книге же написано, что в указатель p засылается адрес переменной a. Почему так???


 
Ketmar ©   (2003-09-19 21:03) [1]

хреново читаем. перечитать то, что касается объявлений.
char *, int * и ты ды -- ОБЪЯВЛЕНИЯ указателя. rtfm, блин...


 
hrundel   (2003-09-22 15:59) [2]

А что что то нетак, разве? Написанно все правильно. Ты читаешь прямо ОБЪЯВЛЕНИЕ переменной. Ну если тебе проще, то можно и так написать.
int *p;
p = &a;
Легче стало??


 
Dimka Maslov ©   (2003-09-22 16:08) [3]

Следует различать знак * в левой и правой частях выражения, а также операцию умножения от объявления или разыменовывания указателя.

int *p - объявление указателя на переменную типа int
= &a - присвоение указателю адреса переменной а

а вот если бы *p стояло в правой части выражения, то это означало бы чтение переменной типа int из адреса, на который указывает

В книге правильно пишут. Просто в указателях C++ и Паскаль различаются сильно.



Страницы: 1 вся ветка

Текущий архив: 2003.10.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
14-27741
iusupp
2003-09-15 21:26
2003.10.09
Никто раньше не начинал... впервые изучать Дельфи...? ;-)


1-27426
Stranger2003
2003-09-30 14:34
2003.10.09
ListBox и алфавит


4-27766
OHP
2003-08-04 00:25
2003.10.09
RegisterWindowMessage


14-27673
Dark Elf
2003-09-22 13:31
2003.10.09
Открытие Chm-файла


1-27544
bfg1000ke
2003-09-29 16:15
2003.10.09
Assembler