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

C/C++의 함수에서 어떻게 여러 값을 반환할 수 있습니까?

<시간/>

C 또는 C++에서는 함수에서 직접 여러 값을 반환할 수 없습니다. 이 섹션에서는 몇 가지 트릭을 사용하여 함수에서 둘 이상의 값을 반환하는 방법을 볼 것입니다.

"call by address" 또는 "call by reference"라는 방법을 사용하여 함수에서 둘 이상의 값을 반환할 수 있습니다. 호출자 함수에서 두 개의 변수를 사용하여 결과를 저장하고 함수는 포인터 유형 데이터를 사용합니다. 따라서 데이터의 주소를 전달해야 합니다.

이 예제에서는 하나의 함수에서 두 개의 숫자를 나눈 후 몫과 나머지를 반환할 수 있는 함수를 정의하는 방법을 볼 것입니다.

예시 코드

#include<stdio.h>
void div(int a, int b, int *quotient, int *remainder) {
   *quotient = a / b;
   *remainder = a % b;
}
main() {
   int a = 76, b = 10;
   int q, r;
   div(a, b, &q, &r);
   printf("Quotient is: %d\nRemainder is: %d\n", q, r);
}

출력

Quotient is: 7
Remainder is: 6