본문 바로가기
카테고리 없음

[C/C++] C++에게 포인터란?

by 일사만루병살 2011. 1. 26.
C++에서 포인터가 필요한 이유는 바로 함수를 주소에 의한 전달 방식으로 정의하기 위해서이다.
함수를 주소에 의한 전달 방식으로 정의하면 실 매개 변수 값을 변경할 수 있다.
 원칙적으로는 함수의 매개변수는 호출하는 쪽에서 호출 당하는 쪽으로 일방적으로 값을 전달한다.
즉, 한쪽방향으로만 값을 전달할 수 있다. 주소에 의한 전달 방식 역시 매개 변수로 값을 전달하는 것이므로 이러한 원칙을 그대로 지키고 있다.
 하지만 주소에 의한 전달 방식은 변수의 주소 값을 실 매개변수로 사용하고 이를 포인터 변수 형태로 선언된 형식 매개변수가 전달받는다. 
그런 다음 이 포인터 변수를 간접 참조함으로서 함수 호출후에 선언된 변수 값을 변경한다.