Форум: "Потрепаться";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c