본문 바로가기
C++/함수

[C++] 함수의 인자전달 방식

by bigpicture 2022. 8. 16.
반응형

함수의 인자전달 방식을 이해하기 위해 문제를 하나 풀어봅시다. 아래 코드의 출력 결과는 얼마일까요?  

#include 

using namespace std;


void my_fun(int arg1)
{
    int* B=&arg1;
    *B=3;
}
    
int main()
{

    int A=5;
    my_fun(A);
    
    printf("%d",A);

}


출력 결과는 얼마일까요? 5입니다. arg1 자리에 A가 입력될 때, A라는 변수의 값만 복사되어 입력됩니다. arg1=5 가 되는 것입니다. B는 arg1의 포인터이므로 *B에 3을 입력하면 agr1이 3으로 수정될 뿐이지 A가 바뀌지는 않습니다. 

반응형

댓글