Вверх ↑
Разработчик
Ответов: 26160
Рейтинг: 2127
#1: 2012-04-12 13:58:52 ЛС | профиль | цитата
hitman249, а ты что, не знаешь структур
В Яве разве нет структур
------------ Дoбавленo в 13.58:
Короче, для простоты понимания, можно объяснить просто -- packed record -- упакованная структура, представляющая собой участок памяти, где последовательно хранятся элементы структуры.
К примеру,



type
TClastArr = packed array[0..ArrClasterSize - 1] of ArrType;

PChainArr = ^TChainArr;
TChainArr = packed record
chIndex: integer;
chNextAdr: PChainArr;
chClastArr: TClastArr;
end;


в данной структуре: TClastArr -- описатель последовательного массива данных фиксированной длины, PChainArr - указатель на структуру элемента кластерного массива, TChainArr -- описатель структуры элемента кластерного массива, где: chIndex -- индекс элемента, chNextAdr -- указатель на следующую структуру в цепи, chClastArr -- собственно, сам последовательный массив данных фиксированной длины.

Для обращения к структуре по адресу, используется указатель PChainArr, чтобы попасть указателем на массив chClastArr, необходимо прибавить к указателю PChainArr смещение, равное размеру занимаемых до массива данных, те chIndex + chNextAdr или 8 байт для 32-х битных систем
карма: 22

1
Голосовали:hitman249