Показать сообщение отдельно
  #7  
Старый 30.06.2010, 22:34
_persicum_

 
Сообщений: n/a

Все это на Дельфах реализуемо и часто применяется.

X:array of double - эту конструкцию для разыменования указателей внутри массива я бы не рискнул применять, так как это контейнер на самом деле, он знает свою длину, может менять размер и так далее. Поэтому ссылка на его нутро скорее всего не будет обладать такими замечательными свойствами.

TDoubleArray:array [0..MaxInt div SizeOf(double)] of double;
PDouble:^TDoubleArray;

PDouble - это теперь сишный *double;

X:PDouble - указатель, даем ему память New()
Y:PDouble;
Z:Pointer;
a:double;

Y:=@X[5]
Z:=@X[5]

a:=X[5];
a:=Y[0];
a:=PDouble(Z^)[0];

Все три a должны быть одинаковы. Арифметика указателей не нужна.