본문 바로가기

예전/C, C++

call by ~



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