이번에는 포인터를 통해 함수를 호출하는 방식인 '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