본문 바로가기
카테고리 없음

Call-by-value , Call-by-reference 그리고 오개념

by 노아론 2017. 3. 12.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
 
SquareByValue(int num) //call-by-value이다.
{
    num *= num;
    return num;
}
SquareByReference(int * ptr) //cal-by-reference
{
    int num = *ptr;
    *ptr = num*num;
}
 
int main(void)
{
    int num, num1, num2;
    scanf("%d"&num);
    num1 = SquareByValue(num);
    printf("\ncall-by-value로 계산된 값은 %d입니다.\n", num1);
    SquareByReference(&num);
    printf("\ncall-by-reference로 계산된 값은 %d입니다.\n", num);
    getchar();
    getchar();
}
cs


Call-By-Reference는 C언어에 존재하지 않는 오개념으로 알고있다.


포인터값을 전달하고 역참조를 통해 스왑하는 것이다.

댓글