Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-27474
Сергей Ж.
2003-09-27 00:58
2003.10.09
Надо такую прогу сварганить...


3-27314
Дмитрий
2003-09-19 11:39
2003.10.09
Условия запуска базы на другом компьютере


3-27394
BorH
2003-09-19 13:38
2003.10.09
Документация по InterBase


3-27302
Настенька
2003-09-22 06:06
2003.10.09
Стринггрид!!!


1-27483
ki11er
2003-09-26 22:02
2003.10.09
Доступность сетевого диска




   Наверх