본문 바로가기

공대남자/프로그래밍

C language - 값전달의 중요성




간단한 예제를 통해, 변수간, 함수간 값 전달의 중요성을 한번 살펴보자.

void swap(int x, int y) {
int z;
z=x;
x=y;
y=z;
printf("x=%d,y=%d\n", x,y);
 }

int main(void) {
            int a=10,b=20;
            swap(a,b);

            return 0;
}


최종적으로 출력될 값은 얼마이겠는가?

정말 간단한 예제이고 정말 기본적인, 기초적인 문제이지만
이 예제가 시사하는 바는 매우 큼.

a와 b는 스왑함수로 들어가면서 x,y로 값전달이 이루어진다.
x,y 메모리에 값이 전달되는 것이다.
또한, 스왑함수 내에서 값이 서로 전달되면서 역시 메모리간 값 전달이 이루어진다.
답은 다들 알다시피 x=20, y=10이 된다.
매개변수간 값 전달은 매우 중요함.