C++でコードを書きたいのですが、構造体の受け渡し方法についての質問です。 次のような3次元配列データを持っているとします。 static const signed short data1_xyz[x][y][z] = { { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 0 } }, // data1 { { 10, 11, 12 }, { 13, 14, 15 }, { 16, 17, 18 }, { 0 } }, // data2 { { 19, 20, 21 }, { 22, 23, 24 }, { 25, 26, 27 }, { 0 } }, // data3 { { 28, 29, 30 }, { 31, 32, 33 }, { 34, 35, 36 }, { 0 } }, // data4 { { -1 } } // data最後 }; この様な3次元配列データが複数あったとして、そのデータをポインタとして渡しして、 配列としてアクセスさせるのはどうコードを書けばいいのでしょうか? void sample(void) { signed short *data_ptr; data_ptr = &data1_xyz; while (1) { if (data_ptr[x][y][0] == -1) break; if (data_ptr[x][y][0] == 0) 次のデータへ if (data_ptr[2][0][1] == 20) 何かの処理 } } 各配列の中身の数は不定ですが、配列[z]の最初が0なら次のデータ、-1ならデータ終了を判定としたいです。 3次元の配列渡しをして、配列の様にアクセスするコードを色々と書いてみたのですが、思ったような動作ができません。 3次元配列なので、トリプルポイントにしてアクセスしようとしてもエラーになったりしてしまって、 どういうコードにすればいいのか分からなくなってしまいました。 そもそも、こういう複数次元配列を渡して、渡した先で元の配列として読み書きしたり、 複数次元配列の中の配列の個数が不定だったりする書き方はできないのでしょうか? 良い配列データの持ち方もスマートにしたいですが、それ以前の問題で悩んでいます。 どうかよろしくお願いします。
C言語関連