함수가 변수로부터 그 값을 복사해 인자(argument)로 받아들이는 것을 call by vaule(값에 의한 호출)라고 합니다. 반면 변수의 값을 복사하는 것이 아닌 그 변수 자체를 인자로 받아들이는 방법이 있는데 그것이 call by reference(참조에 의한 호출)입니다.
이렇게 하면 변수 그 자체의 값을 함수 내부에서 변경할 수 있게 됩니다. 이를 위해서는 그 변수의 주소를 인자로 넘겨 줄 필요가 있습니다.
즉, 변수의 포인터를 인자로 넘겨 줘야 합니다. 예를 들어 아래와 같이 코드를 짜면, 함수 내부에서 변수 sub의 값은 그저 원본의 복사본이므로 원본 변수의 값 자체를 변경할 수는 없습니다.
#include
#
callbyreference
#
callbyvaule
#
C언어
#
C언어포인터
#
값에의한호출
#
포인터
#
참조에의한호출