C での配列の参照渡し
配列の参照渡しを使用すると、コピーせずに関数内の元の配列にアクセスできます。それ。 C では、 & 演算子を使用して配列を参照渡しできます。
次のコード スニペットを考えてみましょう:
void foo(int (&myArray)[100]) { // Access and manipulate the elements of myArray here } int main() { int a[100]; foo(a); }
この例では、 foo 関数は 100 個の整数の配列を受け取ります。参考として。構文 (&myArray)[100] は、myArray が参照によって渡され、それが 100 個の整数の配列であることを指定します。
配列のアドレスを取得するために (&) 演算子が使用されます。式の曖昧さをなくすために括弧が必要です。& 演算子は [] 演算子よりも優先順位が高いため、&myArray[100] は配列自体のアドレスではなく、配列の 100 番目の要素のアドレスを参照します。
値ではなく参照によって配列を渡すと、配列全体を関数にコピーするオーバーヘッドが回避されるため、有益です。これは、パフォーマンスを大幅に向上させることができるため、大きな配列の場合に特に重要です。
構文 (&myArray)[100] は 100 個の整数の配列のみを受け入れることに注意してください。異なるサイズの配列を渡したい場合は、任意のサイズの配列を受け入れる構文 (&myArray) を使用できます。ただし、この構文を使用すると、関数内で myArray に sizeof を使用できないことになります。
以上がコピーを避けるために C で配列を参照渡しするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。