Текущий архив: 2003.02.13;
Скачать: CL | DM;
Вниз
Расположение динамического массива в памяти Найти похожие ветки
← →
Hekko (2003-02-04 22:11) [0]Как дельфи распологает динамические массивы в памяти.
Например у меня есть массив
TColor = packed record
r, g, b : Byte;
end;
var
Data : array of TColor;
Меня интересует как он будет находится в памяти.
Я думаю что Data - указатель на облать памяти где друг за другом идут элементы ( ....:.... : bgr bgr bgr bgr ). Но я подумал как Delphi узнает сколько элементов в динамическом массиве. Может Delphi хранит кол-во элементов. Но где?
Короче кто знает наверника ПРОШУ ПОМОЧЬ.
← →
MBo © (2003-02-04 22:15) [1]хранит.
Length
физически длина хранится перед началом массива, но пользоваться этим не стоит.
← →
Юрий Зотов © (2003-02-04 22:20) [2]Data - указатель на облаcть памяти где друг за другом БУДУТ идти элементы (с учетом выравнивания и packed). ПОСЛЕ того, как Вы вызовете SetLength. А ДО вызова SetLength это просто некорректный указатель.
Страницы: 1 вся ветка
Текущий архив: 2003.02.13;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.011 c