: 함수 호출 시 인수 전달 방법
값에 의한 호출(Call By Value)
#include <stdio.h>
void swap(int x, int y);
int main(void)
{
int a = 100, b = 200;
printf("a=%d b=%d\\n",a, b);
swap(a, b);
printf("a=%d b=%d\\n",a, b);
return 0;
}
// 함수에서의 값 교환은 함수 내에서만 적용된다.
void swap(int x, int y)
{
int tmp;
printf("x=%d y=%d\\n",x, y);
tmp = x;
x = y;
y = tmp;
printf("x=%d y=%d\\n",x, y);
}
참조에 의한 호출(Call By Reference)
#include <stdio.h>
void swap(int *x, int *y);
int main(void)
{
int a = 100, b = 200;
printf("a=%d b=%d\\n",a, b);
swap(&a, &b);
printf("a=%d b=%d\\n",a, b);
return 0;
}
// 함수에서의 값 교환이 main함수에도 적용된다.
void swap(int *px, int *py)
{
int tmp;
tmp = *px;
*px = *py;
*py = tmp;
}