for mountedPath in `mount | cut -d ' ' -f 3`; do
if [ "${mountedPath}" == "${wantedPath}" ]; then
exit 0
fi
done
exit 1
Динамический массив - это указатель на упакованный блок элементов.
Таким образом, массив массива TSomeRecord является указателем на массив указателей, каждый из которых указывает на блок памяти с length (array [firstlevel]) элементов или nil, если их нет.
Другими словами, то, что вы считаете примерно правильным, с добавлением, что массивы с нулевыми элементами равны нулю. Обратите внимание, что вы не должны изменять количество ссылок и длину самостоятельно, если вы ДЕЙСТВИТЕЛЬНО не знаете, что делаете.
Определить причины вашего сбоя будет сложно без примера кода. Имейте в виду, что для ВСЕХ автоматических типов Delphi (кроме widestring) вся динамическая память должна быть выделена диспетчером памяти delphi.
Попытки сделать это с помощью диспетчера памяти любого языка, с которым вы взаимодействуете. до невозможно.
The Language Guide (когда-то доступный в виде очень полезных печатных руководств, теперь найти эту информацию в интерактивной справке очень сложно) гласит:
«Многомерный массив сохраняется с первым возрастанием крайнего правого измерения»
Таким образом, AFAIK у вас нет массива указателей - просто данные каждого измерения один за другим, начиная с самого правого, я думаю, это быстрее потому что больше нет косвенных указаний.