Call by Value 와 Call by Reference
Call by Value
1 | void change_value(int x, int val) { |
위 소스는 main에서 선언된 변수 x에 값 10을 주고 변수 x와 정수 val 매개변수로 하여 change_value를 호출한 후 change_value에서 x의 값을 val로 변경하는 소스이다.
실행을 하면 change_value에서 x의 값은 20으로 변경되었지만 main에서는 여전히 10이다.
이는 main에서 넘긴 x는 x의 값 10을 의미하기 때문에 이것을 바꾸어도 main의 x는 영향을 받지 않는다.
그래서 Call by Value이다.