[C 언어 기초] Call by value와 Call by reference


[C 언어 기초] Call by value와 Call by reference

이번에는 포인터를 통해 함수를 호출하는 방식인 'Call by value'와 'Call by reference'에 대해서 알아보자. Call by value는 '값에 의한 호출'이며, Call by reference는 '참조에 의한 호출'을 의미한다. 함수 호출은 말 그대로 정의된 함수를 호출하는 것으로 함수에 정의한 매개변수의 형태에 따라 결정된다. 이 둘의 차이를 쉽게 이해하려면 포인터와 stack을 어느 정도 알고 있어야 하지만 책에 있는 코드를 작성해서 실행한 다음 결과를 확인하는게 더 쉬울 것 같다. Call by value(값에 의한 호출) Call by value는 함수 호출 시 전달하는 인자의 값이 매개변수에 복사(copy)되어서 함수 내에서 매개변수에 직접적인 데이터 조작을 가해도 인자의 데이터에는 전혀 영향을 주지 않는다. 여기서 값이란 주소값이 아니라 그 자체로 유의미한 데이터 값이라고 생각하면 된다. 사실 너무 뻔한 코드이긴 하지만 이해를 하기 위해서 실행해 보...


#Callbyreference #Callbyvalue #C언어 #배열 #스왑 #포인터

원문링크 : [C 언어 기초] Call by value와 Call by reference