Мне было интересно, можно ли достигнуть самого низкого уровня (уровня не указателя) n-мерного массива в C условно разыменовывая разные уровни указателей, пока вы не достигают слоя, который не указатели, как показано в следующем примере:Разъемы без указателей в C: n-мерные массивы
if(i_is_a_pointer){
for(i = 0; i < some_given_length; i++){
if((*i)_is_a_pointer){
for(j = 0; j < some_given_length; j++){
if((**i)_is_a_pointer)...etc.
}
}
}
}
, который будет вникать через массив либо до тех пор, пока не ударил не-указатель или исчерпала последний блок кода, написанного. Как можно было бы в C определить, является ли вещь указателем (я бы предположил, что sizeof будет работать, если целевой указатель был другого размера, чем адрес памяти), и будет выполняться оператор ** i ошибка компиляции или времени выполнения, если * i не был сам указателем?
Кроме того, какие языки и методы вы используете/можете порекомендовать для перемещения элементов без массива n-мерного массива, где n определяется во время выполнения?
C - хороший язык при пересечении n демонических массивов. Это займет немного времени, используя динамически распределенные размеры, но это может быть очень мощный инструмент. – SetSlapShot