Skip to content

55. 함수 매개변수


1. 키워드

  • 매개변수(Parameter)
  • 인수(Argument)


2. 함수에서 매개변수 사용하기

  • 함수 매개변수의 다양한 사용 방법을 알아보자.


3. 매개변수 사용하기

  • 매개변수를 사용하려면 함수를 정의할 때 ()(괄호) 안에 자료형과 변수 이름을 지정해 주면 된다.


반환값자료형 함수이름(자료형 매개변수)
{
}
#include <stdio.h>

void helloNumber(int num1) // 반환값 없음, int 타입 매개변수 한 개 지정
{
    printf("Hello, %d\n", num1); // "Hello, "와 매개변수를 조합하여 문자열 출력
}

int main()
{
    helloNumber(10); // helloNumber에 10을 넣어서 호출
    helloNumber(20); // helloNumber에 20을 넣어서 호출

    return 0;
}

// Hello, 10
// Hello, 20


  • 먼저 함수를 정의할 때 () 안에 int num1과 같이 자료형과 매개변수를 지정한다.
  • 이렇게 하면 함수를 호출할 때 넣은 값이 매개변수에 저장된다.
  • 여기서는 printf"Hello, " 문자열을 출력하면서 서식 지정자 %d로 매개변수의 값을 함께 출력한다.


void helloNumber(int num1) // 반환값 없음, int 타입 매개변수 한 개 지정
{
    printf("Hello, %d\n", num1); // "Hello, "와 매개변수를 조합하여 문자열 출력
}


  • helloNumber 함수에 10을 넣어서 호출하면 10이 매개변수를 통해 전달되므로 printf로 출력했을 때 "Hello, 10"이 나온다.
  • 마찬가지로 20을 넣으면 "Hello, 20"이 출력된다.


int main()
{
    helloNumber(10); // helloNumber에 10을 넣어서 호출
    helloNumber(20); // helloNumber에 20을 넣어서 호출

    return 0;
}


001


4. 덧셈 함수 만들기

  • 이번에는 매개변수를 사용하여 두 정수를 더한 결과를 반환하는 함수를 만들어보자.
  • 함수에서 매개변수를 여러 개 사용하려면 각 매개변수를 ,(콤마)로 구분한다.


반환값자료형 함수이름(자료형 매개변수1, 자료형 매개변수2)
{
}
#include <stdio.h>

int add(int a, int b) // 반환값 자료형은 int, int 타입 매개변수 두 개 지정
{
    return a + b; // 매개변수 a와 b를 더한 결과를 반환
}

int main()
{
    int num1;

    num1 = add(10, 20); // 함수를 호출할 때 10과 20을 전달. 10과 20을 더한 값인 30이 반환됨

    printf("%d\n", num1);

    return 0;
}

// 30


  • 먼저 함수를 정의할 때 () 안에 int aint b를 지정한다.
  • 이렇게 하면 함수를 호출했을 때 넣은 값이 ab에 순서대로 저장된다.
  • 그리고 {}(중괄호) 안에서는 ab를 더하여 반환한다.


int add(int a, int b) // 반환값 자료형은 int, int 타입 매개변수 두 개 지정
{
    return a + b; // 매개변수 a와 b를 더한 결과를 반환
}


  • 함수를 호출할 때 () 안에 1020을 넣어주면 반환값으로 30이 나온다.
  • 단, 함수에 정의된 매개변수 개수만큼 값을 넣어야 하며, 적거나 많게 넣을 수는 없다.


num1 = add(10, 20); // 함수를 호출할 때 10과 20을 전달. 10과 20을 더한 값인 30이 반환됨


  • 이처럼 매개변수를 사용해서 간단하게 두 정수를 더할 수 있다.


002


매개변수와 인수

  • 매개변수는 함수 바깥에서 전달된 값이 저장되는 변수를 뜻한다.


//          매개변수
//          ↓      ↓
int add(int a, int b)
{
    return a + b;
}


  • 인수는 함수를 호출할 때 전달하는 값이나 변수를 뜻한다.


//   인수
//   ↓  ↓
add(10, 20);

References