次の例のように、ポインターではないレイヤーに到達するまで、ポインターのさまざまなレイヤーを条件付きで逆参照することにより、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次元配列の非配列要素をトラバースするために、どの言語と手法を使用していますか/お勧めしますか?