C で 2 次元配列への参照を渡す
C で配列を操作する関数を使用する場合、参照を渡す方法を理解することが重要です。この記事では、2 次元配列への参照を関数に渡す方法の問題について説明します。
表示されるエラー メッセージ「error: Expected ',' or '...' before '*'」トークン」は、2 次元配列への参照を渡すための構文が正しくないことを示します。コンパイル時にディメンションがわかっている場合にこれを行うための正しい構文は次のとおりです:
void do_something(int (&array)[board_width][board_height]);
この構文では、 「array」の前の「&」記号は、配列への参照が渡されていることを示します。参照を使用すると、関数は配列への直接かつ変更可能な参照を持つことになります。つまり、関数内で配列に加えられた変更は元の配列に反映されます。
あるいは、ポインターを渡したい場合は、最初のサブ配列には、次の構文を使用します:
void do_something(int array[board_width][board_height]);
ただし、このメソッドは元の配列への直接参照を提供せず、関数内で行われた変更は元の配列に反映されません。
参照を使用する場合、関数パラメータのサイズ (この場合は「board_width」) はコンパイル時にすでにわかっているため、削除できることに注意することが重要です。一方、ポインターを渡すには、「int arrayboard_width」のように最初の次元のサイズを指定する必要があります。
要約すると、C で 2 次元配列への参照を渡すには、' を使用する必要があります。 &' を関数プロトタイプの配列パラメーターの前に追加すると、関数内で行われた変更が元の配列に確実に反映されます。この概念を理解すると、エラーを回避し、関数内で適切なデータ操作を確実に行うことができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3