配列の参照渡し: 構文と機能の理解
次の関数プロトタイプを考えてみましょう。
void foo(int (&myArray)[100]);
This関数は、100 個の整数の配列を参照パラメータとして受け入れます。ただし、構文「&myArray[100]」は一見するとわかりにくいように思えるかもしれません。その意味の詳細な内訳は次のとおりです。
さらに明確にするために、次の関数プロトタイプは同等であり、任意のサイズの配列を参照として受け入れます。パラメータ:
void foo(int * x); void foo(int x[100]); void foo(int x[]);
これらのプロトタイプでは、アスタリスク () は配列の最初の要素へのポインターを示します。コンパイラは、これらすべてのプロトタイプを int パラメータを取るものとして扱います。
ただし、参照構文
void foo(int (&x)[100]);
を使用する場合、関数はちょうど 100 個の整数の配列のみを受け入れます。これは、関数内の配列のサイズを決定するために sizeof(x) を安全に使用できることを意味します。
一方、次の構文は無効です:
void foo(int & x[100]);
この構文は「参照の配列」として解析されますが、これは C の正当な宣言ではありません。
以上がC は配列参照をどのように処理するか: 構文と機能の詳細?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。