Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.023 c
3-38135
marsello
2003-01-27 18:35
2003.02.13
пользователей InterBase


14-38564
Top Gun
2003-01-16 22:54
2003.02.13
Книга по администрированию w2k


1-38152
ПолоМуХ
2003-02-04 13:34
2003.02.13
Help Plzzzzz !!!!!


1-38255
AlexanderSK
2003-02-05 15:29
2003.02.13
Передача и использование объектов а Dll


1-38160
Vitus
2003-02-04 14:10
2003.02.13
Простой вопрос