C언어 - 포인터를 이용한 함수 인자
1. C언어의 함수 인자 프로그래밍 언어의 함수 인자 전달 방법에는 값에 의한 전달( Call by Value ) 방법과 참조에 의한 전달( Call by Reference ) 방법이 있다. 그런데 C언어에서 함수의 인자 전달은 항상 Call by Value 방식이다. 즉, 함수에 전달되는 값은 복사본 이며, 함수 내부에서 원본 변수에 직접 접근할 수는 없다. 이러한 이유로 포인터를 사용하여 변수의 주소를 값으로 전달하는 방법으로 Call by Reference 효과 를 얻고 있다. 1.1. 함수 인자 전달 방식 방식 전달 내용 원본 변경 Call by value 변수의 값 불가 Call by reference 변수의 주소 가능 1.1.1. Call by Value Call by Value는 인자로 전달되는 값의 복사본을 함수에 전달하는 방식 이다. 따라서, 함수 내부에서 값을 변경하더라도, 원본 변수에는 아무런 영향을 미치지 않는다. 1.1.2. Call by Reference Call by Reference는 포인터로 변수의 실제 주소를 전달하는 방식 이다. 이 방식으로는 함수로 전달된 주소를 통해 원본 변수의 주소에 접근할 수 있으며, 원본 변수의 값을 변경하는 것도 가능하다. C언어에서는 이러한 참조 전달(Call by Reference)을 포인터(pointer)를 사용하여 구현한다 . C 언어에서 Call by Reference는 포인터를 이용해 주소를 전달하는 방식 으로 이해할 수 있다. 1.2. 함수 인자 전달 예제 #include <stdio.h> /* receives a copy, caller's variable is unchanged ...