![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
eug |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
полноценного открытого массива скажем type arr=array of integer;
Pascal не поддерживает. Используют аналоги:
далее к A можно применить выделение памяти GetMem и обращаться к массиву через указатели типа A^[i] В Примере классов с использованием этого такое выделение памяти приводит к сообщению о выходе за граница массива:
Сообщение отредактировано: eug - 21.06.2011 14:26 |
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата обойтись без динамических массивов, выделив память по максимуму? Описание типа не влияет на выделение памяти. // Что так:это будет массив элементов типа TRab. Только в первом случае индексация ограничена: от 1 до 1, а во втором - от 1 до сколько_поместится (читай, вылета при обращении к любому возможному индексу не будет). Выделение памяти начинается при описании переменной определенного типа или при использовании GetMem/New применительно к указателю (как раз твой случай). Но ты ж выделяешь столько, сколько надо, а не максимально возможное число байт? |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 9:07 |