> 백엔드 개발 > C++ > C에서 2차원 배열에 대한 참조를 전달하는 방법은 무엇입니까?

C에서 2차원 배열에 대한 참조를 전달하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-06 10:17:02
원래의
1054명이 탐색했습니다.

How to Pass References to Two-Dimensional Arrays in C  ?

C에서 2차원 배열에 대한 참조 전달

C에서 배열을 조작하는 함수로 작업할 때 참조 전달 방법을 이해하는 것이 중요합니다. . 이 기사에서는 2차원 배열에 대한 참조를 함수에 전달하는 방법에 대한 문제를 다룹니다.

제공된 오류 메시지 "오류: '*' 앞에 ',' 또는 '...'이 필요합니다. 토큰"은 2차원 배열에 대한 참조를 전달하는 구문이 올바르지 않음을 나타냅니다. 컴파일 시간에 차원이 알려진 경우 이를 수행하기 위한 올바른 구문은 다음과 같습니다.

<code class="cpp">void do_something(int (&array)[board_width][board_height]);</code>
로그인 후 복사

이 구문에서 '배열' 앞의 '&' 기호는 배열에 대한 참조가 전달되고 있음을 나타냅니다. 참조를 사용하면 함수에 배열에 대한 직접적이고 변경 가능한 참조가 있습니다. 즉, 함수 내에서 배열에 대한 모든 변경 사항이 원래 배열에 반영됩니다.

또는 포인터를 전달하려는 경우 첫 번째 하위 배열에 대해 다음 구문을 사용합니다.

<code class="cpp">void do_something(int array[board_width][board_height]);</code>
로그인 후 복사

그러나 이 방법은 원래 배열에 대한 직접적인 참조를 제공하지 않으며 함수 내에서 변경된 사항은 원래 배열에 반영되지 않습니다. .

참조를 사용할 때 함수 매개변수의 크기(이 경우 'board_width')는 컴파일 타임에 이미 알려져 있으므로 삭제될 수 있다는 점에 유의하는 것이 중요합니다. 반면에 포인터를 전달하려면 'int arrayboard_width'와 같이 첫 번째 차원의 크기를 지정해야 합니다.

요약하자면 C에서 2차원 배열에 대한 참조를 전달하려면 ' &'를 함수 프로토타입의 배열 매개변수 앞에 붙여 함수 내에서 변경된 사항이 원래 배열에 반영되도록 합니다. 이 개념을 이해하면 오류를 방지하고 함수 내에서 데이터를 적절하게 조작하는 데 도움이 됩니다.

위 내용은 C에서 2차원 배열에 대한 참조를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿