C에서 2차원 배열에 대한 참조 전달
C에서 배열을 조작하는 함수로 작업할 때 참조 전달 방법을 이해하는 것이 중요합니다. . 이 문서에서는 2차원 배열에 대한 참조를 함수에 전달하는 방법에 대한 문제를 다룹니다.
제공된 오류 메시지 "오류: '*' 앞에 ',' 또는 '...'이 필요합니다. 토큰"은 2차원 배열에 대한 참조를 전달하는 구문이 올바르지 않음을 나타냅니다. 컴파일 타임에 치수가 알려진 경우 이를 수행하기 위한 올바른 구문은 다음과 같습니다.
void do_something(int (&array)[board_width][board_height]);
이 구문에서, '배열' 앞의 '&' 기호는 배열에 대한 참조가 전달되고 있음을 나타냅니다. 참조를 사용하면 함수는 배열에 대한 직접적이고 변경 가능한 참조를 갖게 됩니다. 즉, 함수 내에서 배열에 대한 모든 변경 사항이 원래 배열에 반영됩니다.
또는 포인터를 전달하려는 경우 첫 번째 하위 배열에 대해 다음 구문을 사용합니다.
void do_something(int array[board_width][board_height]);
그러나 이 메서드는 다음에 대한 직접적인 참조를 제공하지 않습니다. 원본 배열을 사용하며 함수 내에서 변경된 사항은 원본 배열에 반영되지 않습니다.
참조를 사용할 때 함수 매개변수의 크기(이 경우 'board_width')는 다음과 같을 수 있다는 점에 유의하는 것이 중요합니다. 크기는 컴파일 타임에 이미 알려져 있으므로 삭제되었습니다. 반면에 포인터를 전달하려면 'int arrayboard_width'와 같이 첫 번째 차원의 크기를 지정해야 합니다.
요약하면 C에서 2차원 배열에 대한 참조를 전달하려면 ' &'를 함수 프로토타입의 배열 매개변수 앞에 붙여 함수 내에서 변경된 사항이 원래 배열에 반영되도록 합니다. 이 개념을 이해하면 오류를 방지하고 함수 내에서 데이터를 적절하게 조작할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3