함수는 값으로 호출할 수 있고 참조로 호출할 수 있다는 것을 알고 있습니다.
- 실제 매개변수가 호출된 함수에서 변경되지 않아야 하는 경우 매개변수별로 값을 전달합니다.
- 실제 매개변수의 값이 호출된 함수에서 변경되어야 하는 경우 통과 참조를 사용합니다.
- 함수가 둘 이상의 값을 반환해야 하는 경우 참조에 의한 호출을 사용하여 이러한 값을 간접적으로 반환합니다.
예시
다음은 여러 값을 반환하는 시연을 위한 C 프로그램입니다. -
#include<stdio.h> void main() { void areaperi(int,int*,int*); int r; float a,p; printf("enter radius of circle:\n"); scanf("%d",&r); areaperi(r,&a,&p); printf("area=%f\n",a); printf("perimeter=%f",p); } void areaperi(int x,int *p,int *q) { *p=3.14*x*x; *q=2 * 3.14*x; }
출력
위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -
Enter radius of circle: 5 Area=78.50000 Perimeter=31.40000
참고
- 포인터에는 연관된 유형이 있습니다. 포인터 유형이 아니라 특정 유형에 대한 포인터입니다.
- 모든 포인터의 크기는 int의 크기와 동일합니다.
- 모든 포인터는 컴퓨터에서 한 메모리 위치의 주소를 보유하지만 포인터가 참조하는 변수의 크기는 다를 수 있습니다.