Как размещается в памяти множество, запись и символ в делфи?
Как размещается в памяти множество, запись и символ в делфи?
Ну массив например и строка я так понимаю являются ссылками на область в памяти. А что насчет множеств, записей и char-a? Как они размещаются в памяти?
longclaps, в этом примере mychrarr лежит на стеке, а mychr просто ссылка на первый элемент массива.
На вопрос из заголовка можно ответить: они размещаются в памяти (в стеке/куче), т.е. грубо говоря вместо имён переменных компилятор подставляет адреса памяти. Но на самом деле оно немного сложнее, т.к. не все операции можно выполнять напрямую с памятью и тогда используются ещё и регистры в качестве промежуточного буфера. Или может оказаться, что в каком-то случае память можно вообще не выделять, а использовать только регистры. Например, такое может произойти с переменной-счётчиком цикла.
в этом примере mychrarr лежит на стеке, а mychr просто ссылка на первый элемент массива.
zedxxx, этот пример лишен контекста, и твоя догадка оплошна. Если сверху добавить строку program huinia, то окажется, что mychrarr лежит в статически выделенной памяти, и, замечу, инициализирована нулями.