인수 값이 서브루틴의 매개변수에 복사됨
-> 서브루틴의 매개변수에서 일어나는 변화는 부모함수의 실 인수에 영향을 미칠 수 없음
인수가 저장된 메모리의 시작 주소가 서브루틴의 매개변수에 복사됨
-> 서브루틴의 매개변수에서 일어나는 변화는 부모함수의 실 인수에 영향을 미칠 수 있음
배열이 함수의 인수로 전달된다면 항상 call by reference 이다
-> 배열을 함수에 전달할 때 배열의 시작주소만 전달됨
const 키워드를 이용하여 변수를 상수화 시킬 수 있다.
또한 포인터 변수가 참조하는 값을 포인터 변수를 통하여 값을 변경시키지 못하게 할 수 있다.
const int num = 100; // num 은 상수화 되었으므로 값 변경 x
int salary - 2700000;
const int *ptr = salary; // ptr이 참조하는 내용 변경 불가
//그러나 변수 자신은 새로운 주소로 변경될 수 있다.