Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
ВнизХехехе Найти похожие ветки
← →
inc(665) (2002-06-04 23:07) [0]Что такое ^Pointer?
← →
[NIKEL] (2002-06-04 23:15) [1]хм... а что у тебя просто Pointer?
если указатель, то это его разименование или (Pascal) разрешение указателя
← →
MBo (2002-06-05 06:48) [2]Указатель - переменная, содержащая в себе некий адрес.
Указатель на указатель - адрес уже этой переменной
← →
Digitman (2002-06-05 08:45) [3][NIKEL]
Это не разыменование. Это - тип, определяющий косвенную адресацию данных указанного типа.
type
PPointer = ^Pointer;
var
p: Pointer;
pp: PPointer;
...
pp^ := p; // вот это - разыменование
p := pp^; // и вот это - тоже разыменование
← →
inc(665) (2002-06-05 09:04) [4]Зачем он нужен .. я непонял ничего.
Прошу вас объясните пожалуйсто...
← →
Виктор Щербаков (2002-06-05 09:13) [5]Ну
type
PPointer = ^Pointer;
это тип - указатель на указатель. Понятно?
← →
inc(665) (2002-06-05 10:21) [6]неа ;(
← →
Виктор Щербаков (2002-06-05 10:28) [7]inc(665) (05.06.02 10:21)
А ты вникай! :)
В переменной типа PPointer будет храниться адрес переменной типа Pointer, в которой, в свою очередь, будет хранится какой-то другой адрес.
← →
kaif (2002-06-05 11:30) [8]Кстати, а можно это потом два раза разыменовать?
Типа написать так:
pp^^
:)
← →
Игорь Шевченко (2002-06-05 11:36) [9]Нельзя, это не С :-)
← →
Digitman (2002-06-05 12:38) [10]>kaif © (05.06.02 11:30)
можно.
пример :
type
PPointer = ^Pointer;
var
i, k: Integer;
pi: Pointer;
ppi: PPointer;
...
i := 5;
pi := @i;
ppi := @pi;
k := Integer(ppi^^);
← →
Игорь Шевченко (2002-06-05 13:27) [11]Digitman © (05.06.02 12:38)
Не знал, спасибо за науку :-)
← →
Digitman (2002-06-05 15:05) [12]>Игорь Шевченко
Общая суть такая :
Компилятору "по барабану", что, сколько раз и в какой последовательности разыменовывается.
Все, что нужно ему при этом - знать, что конкретно разыменовывается (разыменованию могут быть подвергнуты любые типы, явно/косвенно происходящие от указательных либо приводимые к таковым Cardinal-типы) и как следует интерпретировать результат разыменования, если разыменуемое значение - кардинального типа.
← →
Игорь Шевченко (2002-06-05 15:07) [13]Digitman © (05.06.02 15:05)
Что в С можно - я знаю :-)
Что в паскале - только что узнал :-))
← →
Digitman (2002-06-05 15:09) [14]Прошу прощения, последняя фраза неверна, должно быть :
.. и как ему следует интерпретировать разыменуемый операнд, если он - кардинального типа
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c