Помощь - Поиск - Пользователи - Календарь
Полная версия: Что Delphi делает с памятью?
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
CMOS
Когда резервируется память под переменные в процедурах и функциях?
Перед вызовом или во время загрузки программы.

procedure ...
var s: String {256 байт!!! А если это массив строк!?}
begin
...


Можно, конечно, идти через указатели, динамические переменные...
Но все-таки:
Выгружается ли переменная из памяти после завершения процедуры?
volvo
Ну, это все-таки локальная переменная, она только во время работы процедуры и существует.
Romtek
CMOS
Паскаль бы тебе подучить, прежде чем к Дельфи приступать.

var
s: string; { должно занимать 256 байт, если в квадратных скобках не указать размер ! }
s2: string[10]; { выделится 11 байт! }
xds
Память под локальные переменные резервируется после вызова процедуры (самой процедурой) и освобождается перед возвратом из неё.

Кстати, в Delphi при настройках по-умолчанию
Код
var
 s: String; // 4 байта - указатель на динамический объект
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.