Главная страница
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.021 c
14-27681
саша2
2003-09-23 09:43
2003.10.09
наводка


1-27455
romeo
2003-09-27 18:31
2003.10.09
Копирование и вставка компонента... Как?


3-27315
Игорь Ч
2003-09-17 18:07
2003.10.09
Как при компиляции изменить имя исполняемого файла?


3-27403
Tommy
2003-09-18 12:58
2003.10.09
Thread i ADO


1-27559
Raptorus
2003-09-29 15:54
2003.10.09
Здравствуйте, Мастера. Подскажите пожалуйста как можно вызвать