Вверх ↑
Разработчик
Ответов: 26179
Рейтинг: 2128
#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