Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
1-27572
User_OKA
2003-09-29 15:00
2003.10.09
TreeView


3-27399
Delf
2003-09-18 12:20
2003.10.09
Update после Insert в TClientDataset


14-27694
Кен
2003-09-22 07:14
2003.10.09
А есть ли компоненты или Open Source проэкты которые могли бы


1-27583
Bezpal
2003-09-29 12:33
2003.10.09
Кто знает серийный и регистрационный номер для 5 Delphi?


1-27546
alpa
2003-09-29 16:12
2003.10.09
Расцветка TListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский