- 대표적인 swap 예제 이다.

Call by value로 swap을 할경우 swap 함수에서 변수의 값을 전달 받기는 하지만

Num1,과 num2의 값만 넘겨 받았을 뿐 그것이 num1과 num2는 아니기 때문에

함수가 종료되면 main 함수에 직접 영향을 끼치지 못한다.

Call by reference의 경우 주소를 통해 전달 받은 값들을 변경하는 것이므로

종료된 이후에도 참조 했던 주소의 값들이 바뀌어 있으므로 main함수에 있는 num1과

Num2도 영향을 받아 swap이 된다.

그리고 call by value 이용하여 함수에 접근 할 경우 value 값을 저장할 새로운 공간을 할당

받아야 하므로

call by reference에 비하여 시간이 더욱 오래 걸린다.

<예시코드>

<결과창>

 

 

+ Recent posts