Programming/C

C언어 - Call By Value(값에 의한 호출), Call by Reference(주소에 의한 호출)

경원구 2016. 5. 22. 05:00

<Call by Value>

함수의 호출 방식중에서 이번에는 값에 의한 호출에 대해서 알아보자.

값을 의한 호출이 무엇일까? 말 그대로 변수(메모리 공간에 저장된 값) 또는 값을 복사해서 함수를 호출하는 것이다.

ex)

int main()

{

int num1=10;

func(num1);

...

}

        

void func(int x)

{

x=x+1;

}

 

이렇게 메인함수에서 func이라는 함수를 호출 하였을때, 변수 num1의 값을 func함수의 x로 복사하는 것이다.

 

<실습>

 


 

-결과-

 

 


<Call by Reference>

주소에 의한 호출은 주소를 참조해서 함수를 호출하는 것을 의미한다.

ex)

int main()

{

int num1=10;

func(&num1);   // num1의 주소를 전달

...

}

        

void func(int* x)

{

x=x+1;

}

 

<실습>



-결과-