call by Value
call by Reference
위 코드를 실행하면,
위와 같다.
x와 a의 주소는 다르다. 즉 다른 변수이다.
하지만, x와 ptr은 주소가 같다. 즉 같은 변수이다.
왜냐하면 call by reference로 주소를 전달 했기 때문이다.
여기서 자주 쓰이는 예로 swap 함수를 들 수 있다.
포인터에 대한 이야기가 나왔으니 추가적으로,
[scanf & 쓰는 이유]
이때, scanf는 변수의 주소를 입력받는다.
scanf함수는 main함수와는 별개이기 때문에 main 함수 변수의 위치(주소)를 알 수가 없기 때문에
&를 붙여서 함수의 주소를 알려준다.
[참고] http://saelly.tistory.com/370
'예전 > C, C++' 카테고리의 다른 글
char* char[] 을 검색해봤당 (0) | 2014.08.27 |
---|---|
visual studio warning 무시 하는 방법 (0) | 2014.05.20 |
[C++] binding (0) | 2014.01.28 |
[C++] upcasting (0) | 2014.01.28 |
[C++] 일반 함수 포인터, 멤버 함수 포인터 (0) | 2014.01.28 |