ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C/C++] 반환 형식 ,Call by ~
    기초/C,C++ 2017. 3. 2. 10:07

    Call by reference

    Call by value

    두 개의 단어를 들어 보셨나요?


    아마 대부분의 프로그래밍 언어 시간을 배우다보면 이 두가지의 차이를 인지하라고 할 것입니다.


    왜 중요한가?


    포인터와 배열을 배우셨고 함수도 배우셨다면 

    혹은

    자바에서 객체를 배우셨다면

    무조건 이해하셔야 하는 부분입니다.

    이해하시지 않고 가시면 나중에 원하시는 결과를 얻는 과정이 힘드실 거예요...


    Call by Value

    값을 넘겨주는 것입니다.


    Call by Reference

    주소를 넘겨주는 것입니다.


     

    어차피 주소에도 값이 들어가는데요??

    네 맞습니다.


    하지만 주소에는 여 러 가 지 값이 들어있습니다.

    따라서 C에서는 포인터 배열, 자바에서는 객체값을 변경하고 싶을 때

    값만 바꿔서 오류를 내는 경우가 공부하시는 분들에게 발생하실 수 있습니다.

     

     

    주소를 가지고 간 swap함수에서는 주소에 있는 값을 변경하지만

    값을 들고간 swap2 함수에서는 주소에 있는 값을 꺼냅니다.

    더이상 범위에 있지 않습니다 두 데이터는 함수에서 연산을 하고 함수의 끝과 동시에 소멸됩니다.

    마치 main함수 안에다가 1+2; 써놓는거와 같아요

    덜 이해가 되셨다면 댓글 부탁드립니다.


     

    '기초 > C,C++' 카테고리의 다른 글

    [C/C++] 구조체  (0) 2017.03.06
    [C/C++] 클래스, 구조체, 함수의 차이점  (0) 2017.03.03
    [C,C++] 포인터와 배열  (0) 2017.03.02
    [C/C++] 포인터  (0) 2017.02.28
    [C/C++] 문자열 라이브러리 함수  (0) 2017.02.27

    댓글

Designed by Tistory.