- Call by Value(값에 의한 호출)
메인에서 함수 호출할 때 변수의 주소 보내는 것이 아니라 변수의 값만 보내주기 때문에
메인에 있는 변수에 영향을 미치지 않는 형태.
void plus(int a, int b){
a++;
printf("%d\n",a+b);
}
void main(){
int a=10,b=20;
plus(a,b); //31 출력
printf("%d %d\n",a,b);//10 20 출력
}
- Call by Reference(참조에 의한 호출)
메인에서 함수 호출 할때 변수의 값을 보내는 것이 아니라 메인에 있는 변수의 주소를
보내 주기 때문에 함수에서는 매개변수를 포인터 형태로 받는 함수 형태.
void plus(int *a, int *b){
(*a)++;
printf("%d\n",*a+*b);
}
void main(){
int a=10,b=20;
plus(&a,&b); //31 출력
printf("%d %d\n",a,b);//11 20 출력
}
* Call by Value, Call by Reference가 무조건 따로 나오지는 않고 같이 혼용되어서 사용된다.
'Code Archive > C언어' 카테고리의 다른 글
| Step12. 동적 메모리 할당(malloc/realloc) (0) | 2014.09.12 |
|---|---|
| Step11. 구조체(struct) (0) | 2014.09.12 |
| Step9. 데이터 캐스팅 (0) | 2014.09.06 |
| Step8. 포인터 (0) | 2014.09.06 |
| Step7. 배열 (0) | 2014.09.05 |