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;
}
<실습>
-결과-
LIST