더북(TheBook)

main() 함수에서 swap(&x, &y) 형태로 호출합니다. swap() 함수로 main() 함수에 있는 x, y의 주소를 전달하므로, 주소를 전달받는 swap() 함수의 두 매개변수는 주소를 저장할 수 있는 포인터여야만 합니다. swap() 함수 안의 포인터 변수 x, y는 각각 main() 함수 안의 변수 x, y를 가리킵니다.

그림 8-14 | swap( ) 함수의 두 매개변수는 주소를 저장할 수 있는 포인터 매개변수여야 함

 

그런데 main() 함수와 swap() 함수가 서로 자료를 주고받으려면 함수와 함수 사이라는 큰 강을 건너야 합니다. 이때 포인터라는 다리가 두 함수 사이를 연결하는 것입니다. 다리 역할을 하는 포인터 덕분에, swap() 함수 동네에서도 main() 함수 동네에 있는 변수를 역참조함으로써 값을 가져와서 사용하거나 변경할 수 있게 되었습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.