Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 함수 간 통신을 위한 포인터를 설명합니다.

<시간/>

함수는 값으로 호출할 수 있고 참조로 호출할 수 있다는 것을 알고 있습니다.

  • 실제 매개변수가 호출된 함수에서 변경되지 않아야 하는 경우 매개변수별로 값을 전달합니다.
  • 실제 매개변수의 값이 호출된 함수에서 변경되어야 하는 경우 통과 참조를 사용합니다.
  • 함수가 둘 이상의 값을 반환해야 하는 경우 참조에 의한 호출을 사용하여 이러한 값을 간접적으로 반환합니다.

예시

다음은 여러 값을 반환하는 시연을 위한 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의 크기와 동일합니다.
  • 모든 포인터는 컴퓨터에서 한 메모리 위치의 주소를 보유하지만 포인터가 참조하는 변수의 크기는 다를 수 있습니다.