多くの開発者は、2D 配列をポインタに変換する必要がある状況に陥っています。 C の to ポインター。この変換は見かけほど単純ではなく、中間ステップを導入せずに変換を直接達成する方法はありません。
オブジェクトの 2D 配列が与えられた場合:
Activity solution[a][b];
目標は、ポインターツーポインターに変換することです。表現:
Activity **mother = solution;
型の互換性がないため、2D 配列からポインター間の単純な変換は機能しません。このギャップを埋めるには、中間ステップとして追加の「行インデックス」配列が必要です。
Activity *solution_rows[a] = { solution[0], solution[1], /* etc. */ }; Activity **mother = solution_rows;
ここで、mother[i][j] にアクセスすると、solution[i][j] へのアクセスが許可されます。このアプローチでは、2D 配列のセマンティクスを維持しながら、必要なポインター間の表現を提供します。
以上がC で 2D 配列をポインタツーポインタに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。