Текущий архив: 2006.07.30;
Скачать: CL | DM;
Вниз
Указатели или что? Найти похожие ветки
← →
Tort (2006-07-11 15:53) [0]Всем привет! Кто нить подскажет что как и для чего собственно нужны указатели в чем отличие @ от ^?
← →
Игорь Шевченко © (2006-07-11 15:56) [1]
> Кто нить подскажет
Справка обычно хорошо подсказывает. Или книжка.
← →
Alien1769 © (2006-07-11 15:59) [2]Недавно было. Полистай.
Нет быстрее найди слово указатели в этой конференции.
← →
Mozgan (2006-07-11 16:04) [3]Легко вам, мастера!
А маленький примерчик не дадите ;)
← →
Сергей М. © (2006-07-11 16:06) [4]
> в чем отличие @ от ^
@ - указание компилятору взять адрес некоего значения.
^ - указание компилятору взять значение по некоему адресу (разыменование указателя)
← →
Mozgan (2006-07-11 16:07) [5]Спасибо! Но не доходит как использовать ^.
Прошу не ленитесь - покажите кусочек того счастья!
← →
Плохиш © (2006-07-11 16:09) [6]var pi:^integer; ... pi^:=1;
← →
Mozgan (2006-07-11 16:10) [7]т.е. переменная может быть и не описана вначале, но можно сослаться?
Правильно ли я понял?
← →
Сергей М. © (2006-07-11 16:11) [8]Например, так:
var
AddressOfSomeIntegerValue: PInteger;
IntegerValue: Integer;
..
IntegerValue := 5;
AddressOfSomeIntegerValue := @IntegerValue;
ShowMessage(IntToStr(AddressOfSomeIntegerValue^));
← →
begin...end © (2006-07-11 16:12) [9]> Tort (11.07.06 15:53) [0]
> в чем отличие @ от ^?
Маша живёт на ул. Московской, в доме № 17.
Чтобы выяснить адрес Маши, нужно применить к Маше оператор @.
Чтобы выяснить, кто живёт в доме № 17, нужно применить к дому оператор ^.
@(Маша) = дом № 17.
(дом № 17)^ = Маша.
(@(Маша))^ := Маша.
И с переменными всё точно так же. Если нужно узнать адрес переменной в памяти, к ней нужно применить оператор @. А если нужно выяснить значение, находящееся в памяти по заданному адресу, нужно применить к этому адресу оператор ^.var
I: Integer;
pI: PInteger;
begin
I := 12345;
pI := @I;
// Теперь pI содержит адрес переменной I
// Т.е. по адресу pI в памяти лежит значение 12345
// Убедимся в этом:
ShowMessage(IntToStr(pI^));
pI^ := 67890;
// А теперь по адресу pI расположено значение 67890
// Т.е. значение переменной I изменилось, и она равна 67890
// И в этом тоже убедимся:
ShowMessage(IntToStr(I));
end.
← →
Mozgan (2006-07-11 16:14) [10]Уважаемый begin...end !!!!
ОГРОМНОЕ спасибо! Понятно так изложили что аж слеза от счастья на моей щеке! Спасибо!
Страницы: 1 вся ветка
Текущий архив: 2006.07.30;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.011 c