그림 8-15에서 볼 수 있듯이 swap() 함수에서 *a는 곧 main() 함수의 변수 x를 의미하고, *b는 곧 main() 함수의 변수 y를 의미합니다.
그림 8-15 | 다른 동네에 있는 두 변수를 연결하는 포인터의 역할
이렇듯 main() 함수에서 값이 아닌 주소를 swap() 함수에 전달하는 방식을 주소에 의한 호출(Call by Reference)이라고 합니다. 주소에 의한 호출을 통해, 즉 포인터를 통해 main() 함수의 값 x, y를 swap() 함수의 포인터 변수를 사용하여 접근할 수 있게 되었습니다. 값을 읽어오기도 하고 초기화하거나 변경하는 것도 가능합니다.