컴퓨터/프로그래밍
Call by value와 Call by reference 차이
Begi
2022. 5. 22. 18:34
반응형
함수에서 파라미터의 값이 사용되는 방식에 따라 Call by value와 Call by reference가 있다.
Call by value
Call by value는 함수내에서 파라미터를 변경해도 함수를 빠져 나왔을 때 파라미터가 변하지 않는 것이다.
C는 기본적으로 Call by value이다.
void main()
{
int a=1;
fun(a);
}
void fun(int a)
{
a = 10;
}
위의 코드에서 fun(a)을 실행해도 a는 1이다.
Call by reference
Call by reference는 함수내에서 파라미터를 변경하면 함수를 빠져 나와도 파라미터가 변하는 것이다.
C는 기본적으로 Call by value이지만 포인터를 이용하여 Call by reference를 구현할 수 있다.
다음의 코드에서 fun(&a)을 실행하면 a는 10이 된다.
void main()
{
int a=1;
fun(&a);
}
void fun(int* a)
{
*a = 10;
}
반응형