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 중국어 웹사이트의 기타 관련 기사를 참조하세요!