본문 바로가기
c언어

c언어 사용자 정의 함수의 매개 변수 이용 방법과 반환 값 올바르게 받는 법 알아보기

by 개발자 L 2022. 12. 4.
반응형

c언어 사용자 정의 함수의 매개 변수 이용 방법과 반환 값 올바르게 받는 법 알아보기

네 안녕하세요, 이번 포스팅에서는 사용자 정의 함수의 매개 변수와 반환 값에 대하여 알아보도록 하겠습니다.

사실 이것도 우리는 계속 써오던 것인데, 그걸 우리가 정확히 어떤 이름을 가지고 있는지를 몰랐습니다.

그래서 그 친구들의 이름을 이제 알게 될 것이고,

그 사용법도 정확히 알게 될 것입니다.

그럼 지금부터 시작하도록 하겠습니다.

 

1. 인수와 매개 변수

우리가 프로그래밍 언어를 사용을 하면 두 개가 항상 세트로 묶입니다.

바로 '인수'와 '매개 변수'입니다.

이 둘은 함수를 호출할 때, 그 함수가 가지는 데이터를 주고 받기 위해서 사용이 됩니다.

그중에서 인수는 함수를 호출하는 프로그램에 의하여 실제 함수로 전달이 되는 값을 말하며,

매개 변수는 이 값을 전달받는 변수입니다.

그래서 인수는 함수가 호출이 될 때마다 매개 변수로 전달이 됩니다.

제가 한 가지 예시를 한 번 들어보도록 하겠습니다.

우리가 최댓값을 구하는 함수를 하나 만든다고 가정을 해봅시다.

이렇게 말이죠.

int maximum(int a, int b)
{
   if(a > b)
   {
       return a;
   }
   
   else
   {
       return b;
   }
}

이러한 함수가 있다고 가정을 해봅시다.

그리고 main() 함수에서 사용자 정의 함수의 인수를 입력받았다고 해봅시다.

val = maximum(5, 10);

이런 식으로 말이죠.

이제 이 상황에서 본다면 인수는 5와 10이 됩니다.

그리고 main() 함수 내에서 maximum() 함수가 호출이 되었기 때문에 maximum() 함수가 실행이 됩니다.

그리고 여기에서 입력되는 값을 정수로 받기로 했기 때문에 각각의 인수를 전달받는 매개 변수 a와 b 앞에는 int가 붙게 되었습니다.

그래서 좀 더 쉽게 생각을 한다면 인수는 main() 함수에 호출이 된 함수 내에 적히게 되는 값이 바로 인수이고,

매개 변수는 그 숫자를 전달을 받는데, 미리 함수를 만들 때 어떤 자료형으로 받을지 정한 변수라고 생각하시면 편합니다.

반응형

 

2. 반환값

반환 값은 return 문장을 사용하여 받습니다.

위의 예시로 한 번 예를 들어본다면,

a와 b의 값을 비교해서 더 큰 값을 내보내고자 할 때,

a가 b 보다 크면 a에 해당하는 값을 돌려받아야 하고,

b가 더 크다면 b에 해당하는 값을 돌려받아야겠죠?
그래서 a가 더 크면 return a;라고 한 것이고,

b가 더 클 경우라면 return b;를 하라고 명령을 한 것입니다.

그리고 그 값이 바로 value에 속하게 됩니다.

그리고 void와 같이 return 값이 존재하지 않을 경우에는 두 가지 방법이 있습니다.

  • return; 만 사용한다.
  • 아무것도 쓰지 않는다.

이 두 가지 방법이 있습니다.

좀 더 편한 방법은 그냥 아무것도 쓰지 않는 것입니다.

그러면 위의 예시를 이용하여 간단한 예제를 작성해보도록 하겠습니다.

#include <stdio.h>

int main()
{
    int a, b;
    
    printf("정수를 입력하세요 : ");
    scanf("%d", &a);
    
    printf("정수를 입력하세요 : ");
    scanf("%d", &b);
    
    int bigger;
    bigger = maximum(a, b);
    
    printf("둘 중에 더 큰 값은 %d입니다.\n", bigger);
    
    return 0;
}


int maximum(int a, int b)
{
    if(a > b)
    {
        return a;
    }
    
    else
    {
        return b;
    }
}

이렇게 작성을 할 수가 있고요,

바로 결과도 보도록 하겠습니다.

정수를 입력하세요 : 4
정수를 입력하세요 : 5
둘 중에 더 큰 값은 5입니다.

이렇게 결과도 잘 나옴을 볼 수가 있습니다.

 

여기까지 사용자 정의 함수에서 매개 변수를 지정하고 반환 값을 돌려받는 방법에 대하여 알아보았습니다.

다음 포스팅에서는 함수의 원형을 사용하는 방법에 대하여 알아보도록 하겠습니다.

긴 글 읽어주신 독자분들께 진심으로 감사드립니다 ~

반응형

댓글