함수로 값을 넘겨주는 방식에는 크게 두가지가 있습니다.
⚡ Call by value
#include <stdio>
void swap(int a, int b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
}
int main()
{
int a,b;
a=10; b=20;
printf("swap 전 : %d %d\n", a, b);
swap(a,b);
printf("swap 후 : %d %d\n", a, b);
return 0;
}
** result **
swap 전 : 10 20
swap 후 : 10 20
⚡ Call by reference
#include <stdio>
void swap(int *a, int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
int main()
{
int a,b;
a=10; b=20;
printf("swap 전 : %d %d\n", a, b);
swap(a,b);
printf("swap 후 : %d %d\n", a, b);
return 0;
}
** result **
swap 전 : 10 20
swap 후 : 20 10