본문 바로가기

Coding/궁금한 것들

Call by value, Call by reference

Call by value(값에 의한 호출)

 

void func(int n)

{

       n=20;

}

 

int main(){

        int n = 10;

        func(n);

        cout << n << endl;

}

 

--> 10 출력, func 함수의 파라미터 n과 main 함수의 n은 서로 관련이 없음

 

Call by reference(참조에 의한 호출)

 

void func(int *n)

{

       *n=20;

}

 

int main(){

        int n = 10;

        func(&n);

        cout << n << endl;

}

 

--> 20을 출력, n의 주소값을 func 함수의 파라미터로 넣어주고 그 주소값에 저장된 값을 20으로 바꿔주므로 20을 출력한다

'Coding > 궁금한 것들' 카테고리의 다른 글

Fill, Memset  (0) 2019.09.01
Front, Back, Full-Stack 개발자  (0) 2019.09.01
Mean stack  (0) 2019.09.01
String  (0) 2019.09.01
make_pair, value-type  (0) 2019.09.01