본문 바로가기
컴퓨터/프로그래밍

Call by value와 Call by reference 차이

by Begi 2022. 5. 22.
반응형

함수에서 파라미터의 값이 사용되는 방식에 따라 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;

}

 

Argument와 Parameter 차이

 

반응형

'컴퓨터 > 프로그래밍' 카테고리의 다른 글

프로그래밍의 미래  (0) 2022.09.12
Atom 파일 탭 여러 줄로 표시  (0) 2022.07.01
3x3 역행렬 구하는 소스 코드  (0) 2022.05.22
오픈프레임웍스 개요  (0) 2022.05.15
MFC 사용을 위한 Visual Studio 설치  (0) 2022.05.13

댓글