포인터(Pointer)

    - 실인수와 가인수의 이름이 같거나 다르거나 관계없지만 개수와 형 (type)은 같아야 하고 실인수와 가인수는 순서대로 대응된다. 실인수의 자료를 가인수로 넘겨주는 방법에는 값자체를 넘겨주는 call by valu, 자료가 기억된 주소를 넘겨주는 call by reference, 자료가 기억된 실인수의 이름 자체를 넘겨주는 call by name이 있다.

    (1) Call by name (값에 의한 호출/전달)
         - 실인자의 값 자체를 부프로그램에게 전달하는 방식이다. 가인수에는 실인자의 값이 기억되므로 같은 값이 주,부프로그램에 양쪽에 다 있다. 가인수의 값은 주프로그램에 전달되지 않아 부프로그램에서의 연산은 실인자 값에 영향을 미치지 않기 때문에 모듈간의 상호 간섭을 줄일 수 있다. ALGOL, FORTRAN, C, PASCAL 등의 대부분의 언어에서 지원하며, 특별하게 명시하지 않는 한 기본적인 호출방식으로 동작한다.

    (2) Call by reference (참조/주소에 의한 호출/전달)
         - Call by location 도는 Call by address 라고도 하며 실인수의 주소가 가인수에 전달된다. 가인수에는 실인수의 주소가 기억되고 값은 실인수 한 곳에만 있다. 결국 가인수나 실인수는 같은 장소를 사용하는 셈이다. 가인수를 가지고 연산하면 가인수의 주소가 연산되는 것이 아니고 그 주소의 내용이 연산되므로 연산의 결과는 실인수에 바로 나타난다.