3.2.8 Размеры строк

На верх  Назад  Вперёд

Память, занятая строкой зависит от типа строки. Некоторые типы строк выделяют память в "куче", другие в стеке. Таблица 3.6 показывает как выделяется память для различных типов строк. В таблице используются следующие сокращения:

1.L - Фактическая длина строки (в байтах).

2.HS - Старше Free Pascal 2.7.1 - 16 байт, младше - зависит от версии Free Pascal.

3.WHS - Размер составляет 4 байта для всех версий Free Pascal.

4.UHS - Размер составляет 8 байт для всех версий Free Pascal.


Таблица 3.6: Размеры типов строка в памяти

Тип строки

Размер в стеке

Размер в "куче"

ShortString

Указанная длина + 2

0

AnsiString

Размер указателя (Pointer)

L + 1 + HS

WideString

Размер указателя (Pointer)

2*(L + 1) + WHS

UnicodeString

Размер указателя (Pointer)

2*(L + 1) + UHS

Pchar

Размер указателя (Pointer)

L+1